둘다 아파치 재단에서 만든 소프트웨어 입니다.

 

아파치(Apache)란?

      • 정적인 데이터를 처리하는 웹서버
      • 웹서버 only?
      • 다른 제품은 nginx ?

 

아파치 톰캣(Apache Tomcat)이란?

      • 동적인 데이터를 처리하는 웹서버 입니다.
        WAS(Web Application Server), 대표적인 WAS가 아파치톰캣(톰캣이라고도 부름)
      • 웹서버와 웹 컨테이너의 결합으로 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 말합니다.

자바 서버 페이지(JSP)와 자바 서블릿이 실행할 수 있는 환경을 제공

      • BEA사의 Web Logic, IBM사의 Web Sphere, T-max사의 Jeus, Tomcat, Redhot사의 JBoss 등

 

 

톰캣은 html 같은 정적 페이지를 로딩하는데 웹 서버보다 수행 속도가 느리다

그래서 아파치랑 연동한단다..

원리는 아파치가 실행되면 아파치는 html 파일은 자신이 수행하고 jsp 파일은 톰캣으로 넘겨서 톰캣이 수행하게 만든다. 톰캣 특성상 java 언어만 해석이 가능하기 때문에 톰캣에 자체 내장되어 있는 http 서버를 사용하더라도 php 언어로 작성된 서버 페이지는 실행이 불가능하다. 따라서 php와 jsp 모두를 사용하고 싶다면 아파치에서 php를 호출하고 톰캣에서 jsp를 호출 하도록 구성하여 상호 보완적 동작을 수행하도록 구성할 수도 있다

(출처 : https://ko.wikipedia.org/wiki/아파치_톰캣 )

 

CGI(Common Gateway Interface)

기존에는, 웹서버가 있고 클라이언트에서 외부 프로그램이 필요한 리퀘스트가 들어오면 CGI를 통해 외부 프로그램을 실행시켜 리퀘스트에 응답하도록 했지만 요즘에는 웹서버에 인터프리터를 내장함으로써 따로 프로세스를 fork하여 외부 프로그램을 실행시키지 않고 내부에서 다 처리합니다.

접속자가 많은 서비스의 경우 CGI 방식보다 어플리케이션 서버 방식의 Throughput(처리량)이 더 좋습니다.

예를들어, 5개의 웹 브라우저가 동일한 프로그램을 요청했을 때 CGI 방식은 5개의 요청에 대한 프로그램을 모두 메모리에 적재합니다. 반면, 어플리케이션 서버방식은 메모리에 한번만 적재합니다이로써 CGI방식에 비해 전체적인 메모리 사용량이 적습니다. 이는 더 많은 요청을 처리할 수 있음을 의미합니다.

 

 

 

 

 

윈도우에 Apache Tomcat8 설치하기

    1. 다운로드 페이지 -> http://tomcat.apache.org/download-80.cgi
    2. 해당 페이지의 스크롤을 살짝 내려서 [64-bit Windows zip] 을 클릭하여 파일을 다운로드
    3. 해당 파일의 경로를 고려하여 압축을 해제합니다.
    4. Tomcat을 설치하려면 명령프롬프트창을 하나 열어서, 해당 경로에 가서 명령어를 쳐줘야 합니다.
    5. service.bat install tomcat8  이렇게 명령어를 날려 설치를 합니다.
    6. 다시 bin 폴더로 돌아와서  [tomcat8w.exe] 을 우클릭하여 관리자 권한으로 실행하여, 서비스 실행
    7. Tomcat을 기동 시킨후  http://localhost:8080  으로 접속하여 확인




HTTP만든분 중에 한분이
웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐를 소개했는데
그것이 바로 Representational state transfer (REST)
메서드
의미
POST
Create
GET
Select
PUT
Update
DELETE
Delete
아래와 같이 표현함.
{ 
   "users":{ 
      "name":"taetae"
   }
}
이 구문의 의미는 아래와 같다
POST = 만든다 의미
URI = web.co.kr/users (모든 것은 URI가 존재한다)
이름이 taetae인 사람을 만드는 메서드다.

그럼 taetae라는 이름을 가진 리소스에 접근하려면 (가져오려면)
URI는 web.co.kr/users/taetae 이고
가져올 때는 Get 을 붙인다.
지우는것은 DELETE 메소드
HTTP DELETE, http://web.co.kr/users/taeae

다중조건
다음은 http://web.co.kr/users 라는 리소스를 이름은 terry, 주소는 seoul 이라는 내용(메시지)로 HTTP Post를 이용해서 생성하는 정의이다.
{ 
   "name":"terry",
   "address":"seoul"
}

수정
다음은 http://web.co.kr/users 라는 사용자 리소스중에, id가 terry 인 사용자 정보에 대해서, 주소를 “suwon”으로 수정하는 방식이다. 수정은 HTTP 메서드 중에 PUT을 사용한다.
{ 
   "name":"terry",
   "address":"suwon"
}

REST는 HTTP표준만 지키면, 어떠한 기술에서도 사용가능하다.
HTTP + JSON으로 REST API를 정의했다면,
모든 플랫폼에서 사용가능하다.

모든 것에 URL 부여된다.
 
Ex) ASP.NET WEB API 레스트풀
외부 연결 URI를 REST API 라고 하고, REST 방식의 서비스 제공이 가능한 것을 RestFul 하다고 표현한다.


덧.
Azure 아키텍쳐에도 REST API가 있음





윈도우 10 - 설정 - "로그인 옵션" 찾기 그리고 아래와 같이 "개인정보" 하위

"업데이트하거나 다시 시작한 수 내 로그인정보를 사용하여, 내 장치설정을 완료하고 내 앱을 다시 엽니다" 체크해제






'기술(MS,Web,Windows,AWS) > [MS]Windows 10' 카테고리의 다른 글

windows 10 OPEN SSH 클라이언트 앱  (0) 2018.04.09


MS오피스 ms office 파워포인트 ppt 용량줄이기 팁

아래와 같은 방법으로 25MB -> 7MB로 줄어듬










web deploy 이용 IIS 서버 간 마이그레이션 각


작업시 오타주의필요



1. Source Server에  Web Deploy 3.6 설치

https://www.iis.net/downloads/microsoft/web-deploy 


2. Appcmd 명령어 이용 Site 및 pool xml export


%windir%\system32\inetsrv\appcmd list apppool /config /xml > c:\apppools.xml

%windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml


3. Xml열어서 확인

4. Appcmd 명령어 이용 Site 및 pool xml import

%windir%\system32\inetsrv\appcmd add apppool /in < c:\temp\web\apppools.xml

%windir%\system32\inetsrv\appcmd add site /in < c:\temp\web\sites.xml


5. Msdeploy export(각 사이트별)

msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1

msdeploy -verb:getDependencies -source:metakey=lm/w3svc/2

msdeploy -verb:getDependencies -source:metakey=lm/w3svc/3

msdeploy -verb:sync  -source:metakey=lm/w3svc/1 -dest:package=c:\Site1.zip > WebDeployPackage1.log

msdeploy -verb:sync  -source:metakey=lm/w3svc/2 -dest:package=c:\Site2.zip > WebDeployPackage2.log

msdeploy -verb:sync  -source:metakey=lm/w3svc/3 -dest:package=c:\Site3.zip > WebDeployPackage3.log

6. Target Server 파일 복사

a. 사이트 및 pool xml파일 : 사이트/pool 일괄

b. msdeploy zip파일 복사 

c. 웹사이트 실제소스 복사(경로확인)


7. Msdeploy import(각 사이트별)

msdeploy -verb:sync -source:package=C:\temp\web\Site1.zip -dest:metakey=lm/w3svc/1 -whatif > WebDeploySync1.log

msdeploy -verb:sync -source:package=C:\temp\web\Site2.zip -dest:metakey=lm/w3svc/2 -whatif > WebDeploySync2.log

msdeploy -verb:sync -source:package=C:\temp\web\Site3.zip -dest:metakey=lm/w3svc/3 -whatif > WebDeploySync3.log




트러블슈팅

오류코드 예시

Error Code: ERROR_EXCEPTION_WHILE_CREATING_OBJECT

[14:09:33][Step 6/6] More Information: Object of type 'package' and path 'Artifacts\ProjectName.csproj.zip' cannot be created.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXCEPTION_WHILE_CREATING_OBJECT.

[14:09:33][Step 6/6] Error: The Zip package 'Artifacts\ProjectName.csproj.zip' could not be loaded.

[14:09:33][Step 6/6] Error: Could not find a part of the path 'Artifacts\ProjectName.csproj.zip'.

[14:09:33][Step 6/6] Error count: 1. 

-> 원인 : msdeploy export zip파일명을 잘못 지정했음.

 

 

msdeploy export  limit 존재함, 4GB 이상 이면 오류
ERROR_PACKAGE_TOO_LARGE

Diagnosis: The package or backup being created exceeds the maximum size of 4GB.

Resolution: Use the archiveDir provider when creating a package instead. Currently there is no solution for this limit with respect to automatic backups.

 

출처: <https://docs.microsoft.com/en-us/iis/publish/troubleshooting-web-deploy/web-deploy-error-codes#errorpackagetoolarge>

 

 

msdeploy -verb:sync -source:apphostconfig="Site1" -dest:archivedir=c:\archive

 

msdeploy -verb:sync -source:archivedir=c:\archive -dest:appHostConfig="Site1",computerName=NewServer

 

 

ERROR_FRAMEWORK_VERSIONS_DO_NOT_MATCH 

아래와 같이 import 닷넷프레임워크 버전을 전부 지정해주면 실행성공함.

msdeploy -verb:sync -source:apphostconfig="WebSite1",machineconfig32.netfxversion=2,machineconfig64.netfxversion=2,

rootwebconfig32.netfxversion=2,rootwebconfig64.netfxversion=2 -dest:apphostconfig="WebSite1",machineconfig32.netfxversion=2,machineconfig64.netfxversion=2,

rootwebconfig32.netfxversion=2,rootwebconfig64.netfxversion=2, 

computername=10.1.1.19 -enablelink:AppPoolExtension -verbose –whatif

 

출처: <https://blogs.msdn.microsoft.com/ericparvin/2015/04/03/error_framework_versions_do_not_match/>

 

 

 

 

그외

Troubleshooting Common Problems with Web Deploy

 

출처: <https://docs.microsoft.com/en-us/iis/publish/troubleshooting-web-deploy/troubleshooting-common-problems-with-web-deploy>





윈도우 10에서 putty 대신 ssh 앱사용이 가능하다.(cmd 앱에서 사용가능)

아래와 같이 찾아서 설치하고, 재시작 후 사용하면 된다.







윈도우 명령어 - 탐색기에서 cmd 빨리 열기

 

 

탐색기에서 cmd 입력하면 cmd가 바로 뜸

100명 중에 99명은 안해봤을 듯함. ㅎㅎㅎ

 






 

주의 : 아래 프로그램 목록 중에서 몇몇 프로그램 라이선스 구입이 필요한 프로그램이 있을 수 있습니다. 참고하세요

 

   

Text File Cleaver

   

CPUZ

   

Color Cop

   

Cports CurrPorts

   

파일비교 DiffMerge

   

FastCopy Portable

   

Install Bosco's Screen Share 3

화면녹화 프로그램

   

wink20

화면녹화 프로그램

   

   

SpaceSniffer 1.3

HDD 저장공간 현황을 비쥬얼하게 보여줌

   

   

FinePrint 인쇄종이절약 (라이선스 필요)

   

   

3DP Chip

PC 드라이버 파일 자동탐색

   

Imagemapic

이미지맵 좌표 갈켜줌

   

RIPC.exe

로컬 NIC ip정보 자동 체인저

자주 IP주소를 바꿔 사용해야되는 환경일 경우 편함

단점 목록중에 삭제하려면 address.ini 파일을 수동으로 수정해야됨

   

SyncBack 파일동기화 프로그램

   

원격지원툴

mRemote 혹은 Remote Desktop Connection Manager

   

   

dbg_x86 MS 덤프분석툴

   

   

파일 쌍방 비교프로그램 winDiff

   

   

Everything 로컬 파일검색 프로그램 : 빠름




   

   

개발 DB / 임시 복제 DB 생성을 간편하게 SSMS 에서 할 수 있다.

BAK 파일로 불편하게 Restore 쿼리로 하지 않아도 된다.

   

  • 복사 하려는 데이터베이스에서 마우스 우측키 - "작업" - "데이터베이스 복사" 선택

   

   

  • 원본서버 선택

   

  • 대상서버 선택

   

  • 전송방법 선택

   

  • 데이터베이스 선택(자동으로 선택되어 있음)

   

  • 대상(목적지) 데이터베이스 이름 선택수정

기본값 _new 가 자동으로 붙는다. 원하는 값으로 수정할 것

   

  • 작업패키지 구성(자동)

   

  • 실행방법 선택

   

  • 최종 실행

   

  • 완료




'기술(MS,Web,Windows,AWS) > [MS]SQL' 카테고리의 다른 글

MSSQL mdf ldf 붙이기 (연결)  (0) 2019.07.29
MS-SQL MSSM 단축키  (0) 2016.08.03
MSSQL 원격연결 설정 변경  (0) 2016.03.15
SQL STD----ENT 버전 비교  (0) 2016.02.29

MS-SQL MSSM 단축키

   

테이블명 선택해서 Alt+F1 테이블 스펙보기 sp_help

 

   

   

   

예로 에러로그를 확인하는 프로시져 sp_readerrorlog 선택하고 Alt + F1 눌러 보겠습니다.

또는 exec sp_help 'sp_readerrorlog' 실행하셔도 결과는 동일합니다.

   

   

   

같은 방법으로 테이블 정보를 조회하면 아래와 같습니다.

   

SSMS 단축키 모음

   

   

단축키

동작

ALT

SSMS 메뉴바로 이동Move to the SQL Server Management Studio menu bar

ALT+HYPHEN

도구상자 메뉴 활성화(실제로는 도구상자에서 펼친 창 닫기)

SHIFT+F10

컨텍스트 메뉴 표시(오른쪽 마우스 버튼과 동일)

CTRL+N

새 파일(새 창) 표시

CTRL+SHIFT+N

새 프로젝트 만들기

CTRL+O

파일 열기

CTRL+SHIFT+O

프로젝트 열기

CTRL+SHIFT+A

현재 프로젝트에 새 항목 추가

ALT+SHIFT+A

현재 프로젝트에 기존 항목 추가

CTRL+SHIFT+Q

쿼리 디자이너 표시

ESC

취소 또는 메뉴 닫기

CTRL-SHIFT-F2

책갈피 초기화

CTRL+F2

책갈피 삽입 또는 삭제(토글)

F2

다음 책갈피 가기

SHIFT+F2

이전 책갈피 가기

ALT+BREAK

쿼리 취소

CTRL+O

연결 (실제로는 파일 열기?)

CTRL+F4

연결 끊기

ALT+F4

하위연결 끊고 닫기

ALT+F1

데이터베이스 객체 정보(객체 선택 후 실행)

CTRL+SHIFT+DEL

현재 편집기의 영역 초기화(내용이 사라짐)

CTRL+K+C

(2000 : CTRL+SHIFT+C)

주석 추가

CTRL+C or Ctrl+Insert

복사

CTRL+X or Shift+Del

잘라내기

SHIFT+TAB

탭 줄이기(이전 탭 위치로)

CTRL+DEL

블록 삭제

CTRL+F

찾기

CTRL+G

지정한 줄 위치로 이동

TAB

탭 추가

CTRL+SHIFT+L

선택영역을 소문자로

CTRL+SHIFT+U

선택영역을 대문자로

CTRL+V or Shift+Insert

붙여넣기

CTRL+K+U

(2000 : CTRL+SHIFT+R)

주석 제거

F3

가장 최근에 검색했던 문자검색 재실행

CTRL+H

바꾸기

CTRL+A

전체선택

CTRL+Z

실행취소

F5 or Ctrl + E

쿼리 실행하기 (선택영역이 있으면 선택한 곳만)

F1

도움말

SHIFT+F1

현재 선택한 구문의 도움말

F6

쿼리 영역과 결과영역 커서 변경(커서의 위치가 바뀜)

Shift+F6

영역 변경 (편집 창에서는 위와 동일)

CTRL+W

열린 창 선택하기

CTRL+N

새 쿼리 창

F8

개체 탐색기 보이기/감추기(토글)

F4

객체 찾기

CTRL+F5

구문 검사(실행하지 않고 구문오류만 검사함)

CTRL+P

출력

CTRL+D

그리드(표) 형태로 결과물 출력

CTRL+T

텍스트 형태로 결과물 출력

CTRL+B

창 나누기 이동

(2000 : 결과창 사이즈 조절)

CTRL+SHIFT+F

결과물을 파일로 저장하기

CTRL+R

결과창 보이기/감추기(토글)

CTRL+S

쿼리 저장하기

CTRL+SHIFT+INSERT

템플릿 삽입

CTRL+SHIFT+M

템플릿 바꾸기

CTRL+L

예상실행계획 보이기

CTRL+K

실행계획 보이기/감추기(토글)

CTRL+I

인덱스 튜닝 마법사 실행

CTRL+SHIFT+S

클라이언트 통계 표시(실제로는 다른이름으로 저장?)

CTRL+SHIFT+T

서버 통계 표시(실제로는 앞 구문과 뒷 구문 치환?)

CTRL+U

사용할 데이터베이스 변경 드롭다운리스트로 이동

>




+ Recent posts