이번 포스팅에서는 IIS 7 에서 제공되는 새로운 커맨드라인(Command-line) 관리도구 Appcmd.exe 도구를 소개 드립니다. Appcmd.exe 도구를 사용하면 GUI 환경의 인터넷 정보 서비스 관리자를 사용하지 않고 쉽고 빠르게 서버를 제어할 수 있는 기능을 제공합니다. Appcmd.exe 를 통해서 대표적으로 아래 기능들을 수행할 수 있습니다.
* 웹 사이트, 응용 프로그램 풀, 가상 디렉터리의 생성, 삭제, 변경, 설정
* 웹 사이트, 응용 프로그램 풀의 시작, 중지, 재생
* 실행 중인 worker process, 요청에 대한 정보 보기
* IIS, ASP.NET 설정에 대한 가져오기, 내보내기, 변경
Appcmd.exe 도구는 %systemroot%\system32\inetsrv 경로에 있으며 명령을 실행하는 방법은 아래와 같습니다.
사용방법) APPCMD (command) (object-type) <identifier> < /parameter1:value1 ... >
APPCMD 도구를 사용할 때 지원하는 명령, 개체 유형은 아래와 같습니다.
1. 명령(Command)
add, clear, configure, delete, inspect, install, list, lock, migrate, recycle, reset, restore, search, set, start, stop, uninstall, unlock
2. 개체 유형(object-type)
site, app, vdir, apppool, config, wp, request, module, backup, trace
실제 운영 서버에 사용해 볼만한 몇 가지 명령들을 예제로 정리하였습니다.
1. APPCMD list 명령을 통해 사이트, 응용 프로그램 풀, Worker Processes, 가상 디렉터리 정보 조회
가. Appcmd list site
나. Appcmd list app
다. Appcmd list wp
라. Appcmd list vdir
2. List 명령과 /text:* 파라미터를 추가하여 "xe" 웹 웹사이트에 대한 자세한 정보 얻기
가. Appcmd list app "xe/" /text:*
3. 설치된 모듈 확인
가. Appcmd list module
4. 현재 실행 중인 요청 확인
가. Appcmd list request /site.name:"WEB1"
C:\Windows\System32\inetsrv>APPCMD list request /site.name:"WEB1"
REQUEST "c900000080003a68" (url:POST /MiniPopupMonitor/WebServiceMessenger.asmx,
time:15 msec, client:192.168.0.101, stage:MapRequestHandler, module:ManagedPipelineHandler)
C:\Windows\System32\inetsrv>APPCMD list request /site.name:"WEB1"
REQUEST "b70000008000a3f1" (url:POST /MiniPopupMonitor/WebServiceMessenger.asmx,
time:15 msec, client:192.168.0.102, stage:SendResponse, module:IIS Web Core)
C:\Windows\System32\inetsrv>APPCMD list request /site.name:"WEB1"
REQUEST "ed0000008000d2ee" (url:POST /LoginS.aspx, time:141 msec, client:192.168.0.101,
stage:MapRequestHandler, module:ManagedPipelineHandler)
C:\Windows\System32\inetsrv>APPCMD list request /site.name:"WEB1"
REQUEST "f4000000800083a3" (url:GET /data/images/skin/2 Window_Data Popup/imag
es/dwframe_1.gif, time:16 msec, client:192.168.0.103, stage:SendResponse, module:IIS Web Core)
5. Site 상태 제어
가. Appcmd stop site /site.name:XE
나. Appcmd start site /site.name:XE
6. 글로벌 서버 설정 백업과 복원
가. Appcmd add backup
나. Appcmd restore backup /backup.name:"20101215T224415"
위와 같이 몇 가지 예제를 통해서 appcmd command-line 도구를 활용하는 방법에 대해서 간단히 확인하였습니다. 위 예제에서 다뤄보지 못한 개체 유형(object-type)과 명령(command)이 아직 많이 있으니 도움말을 통해 확인해 보시고 이외에도 유용한 명령이 있으면 추천 부탁 드립니다.
Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다