내보내기(0) 인쇄
모두 확장

Windows Azure에서 IIS 구성 요소 구성

업데이트 날짜: 2013년 11월

Startup 요소를 사용하여 웹 역할 환경을 구성할 작업을 지정할 수 있습니다. Windows Azure에 배포된 응용 프로그램에는 일반적으로 호스트 컴퓨터에 설치되어야 할 일련의 필수 구성 요소가 있습니다. 시작 작업을 사용하여 필수 구성 요소를 설치하거나 환경에 대한 구성 설정을 수정할 수 있습니다. 웹 및 작업자 역할을 이 방식으로 구성할 수 있습니다.

note참고
Startup 요소는 Windows Azure SDK 버전 1.3 이상에서 사용할 수 있습니다.

시작 작업을 실행하도록 서비스를 구성하려면 서비스 정의 파일에 Startup 노드를 추가해야 합니다. Startup 노드는 수행할 작업을 지정합니다. 일반적으로 이는 무인 모드로 실행될 수 있는 스크립트가 포함된 CMD 파일입니다.

다음 코드 예제에서는 CMD 스크립트 파일을 실행하여 IIS 웹 역할을 구성하는 시작 작업을 보여 줍니다.

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="IIS_Demo" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
   <WebRole name="MyWebRole">
      <Startup>
         <Task commandLine="ConfigureIIS.cmd" executionContext="elevated" taskType="simple" />
      </Startup>
      <Sites>
         <Site name="Web">
            <Bindings>
               <Binding name="HttpIn" endpointName="HttpIn" />
            </Bindings>
         </Site>
      </Sites>
      <Endpoints>
         <InputEndpoint name="HttpIn" protocol="http" port="80" localPort="80" />
      </Endpoints>
   </WebRole>
</ServiceDefinition>

시작 작업을 지정할 때 다음 실행 컨텍스트 값 중 하나를 선택할 수 있습니다.

  • Limited: 프로세스를 호스팅하는 역할과 동일한 권한으로 실행합니다.

  • Elevated: 관리자 권한으로 실행합니다.

다음과 같은 작업 유형 값을 사용할 수 있습니다.

  • Simple(기본값): 다른 작업이 시작되기 전에 시스템에서 작업이 종료되기를 기다립니다.

  • Background: 다른 작업이 시작되기 전에 시스템에서 작업이 종료되기를 기다리지 않습니다.

  • Foreground: 모든 foreground 작업이 종료될 때까지 역할이 다시 시작되지 않는다는 점을 제외하면 background와 유사합니다.

note참고
시작 작업에 대한 명령 및 배치 파일은 ANSI 형식으로 저장되어야 합니다. 파일 시작 부분에 바이트 순서 표시자를 설정하는 파일 형식은 올바르게 처리되지 않습니다.

Windows Azure 응용 프로그램을 지원하려면 추가 서버 구성 요소 또는 타사 패키지를 설치해야 할 수 있습니다. 이 시나리오에서는 Microsoft 웹 PI(플랫폼 설치 관리자) 명령줄 도구를 사용하여 작업을 수행할 수 있습니다. 웹 PI는 IIS(인터넷 정보 서비스), SQL Server Express, .NET Framework 및 Visual Web Developer를 포함하여 Microsoft 웹 플랫폼의 최신 구성 요소를 쉽게 얻을 수 있게 해 주는 도구입니다. 또한 웹 PI는 무료 웹 응용 프로그램을 쉽게 설치 및 실행할 수 있도록 해 줍니다. 웹 PI에 대한 자세한 내용은 Microsoft 웹 플랫폼 설치 관리자를 참조하십시오.

WebPiCmdLine에 대한 자세한 내용은 WebPICmd 명령줄 도구 사용을 참조하십시오.

사용자가 설치하는 한 가지 공통 구성 요소는 Hypertext 전처리기(PHP)입니다. 다음 절차에서는 서비스에 사용하기 위해 PHP를 설치하는 방법을 설명합니다. 여기에서는 최소한 하나의 웹 역할에서 Windows Azure 프로젝트를 만들었다고 가정합니다. Visual Studio에서 Windows Azure 프로젝트를 만드는 방법은 Visual Studio에서 새 Windows Azure 프로젝트 만들기를 참조하십시오.

  1. 웹 PI 명령줄 도구를 다운로드합니다.

  2. Windows Azure 프로젝트의 폴더에 WebpiCmdLine.exe, Microsoft.Web.Deployment.dll, Microsoft.Web.PlatformInstaller.dll 및 Microsoft.Web.PlatformInstaller.UI.dll 파일을 추출합니다.

  1. Visual Studio에서 Windows Azure 프로젝트를 엽니다.

  2. 솔루션 탐색기에서 솔루션을 확장합니다.

  3. 웹 역할을 마우스 왼쪽 단추로 클릭합니다. 추가를 클릭한 다음 새 폴더를 클릭합니다.

  4. 폴더의 이름을 startup으로 지정합니다.

  5. startup 폴더를 마우스 왼쪽 단추로 클릭합니다. 추가를 클릭한 다음 기존 항목을 클릭합니다.

  6. Webcmdline 파일을 추출한 폴더로 이동합니다. 세 DLL 파일과 EXE 파일을 선택하고 추가를 클릭합니다.

  7. startup 폴더에서 세 DLL 파일과 EXE 파일을 선택합니다. 속성 창에서 출력 디렉터리에 복사새 버전이면 복사로 설정합니다.

다음 절차에서 시작 작업으로 실행할 CMD 파일을 만듭니다. 명령 파일은 웹 PI 명령줄 설치 관리자를 사용하여 PHP 5.3을 설치합니다.

  1. 메모장 또는 원하는 텍스트 편집기를 엽니다.

    Warning경고
    Visual Studio에서 만든 텍스트 파일은 기본적으로 배치 파일로 실행할 수 없는 바이트 순서 표시가 포함된 형식으로 저장됩니다. Visual Studio를 사용하여 명령 파일을 만드는 경우 파일에서 다른 이름으로 파일 <file name> 저장의 고급 옵션 메뉴를 사용하여 Windows Azure에서 실행될 수 있는 형식으로 파일을 저장합니다. 고급 옵션 메뉴는 저장 단추의 오른쪽에 있는 작은 사각형을 클릭한 다음 인코딩하여 저장을 클릭하여 고급 저장 옵션 대화 상자를 열어 액세스할 수 있습니다. 이 대화 상자를 사용하여 파일에 대한 인코딩을 지정합니다. 유니코드(서명 없는 UTF8) 코드 페이지 65001은 올바르게 실행되는 명령 파일을 저장하기 위해 사용됩니다.

  2. 다음 명령을 복사하여 파일에 붙여 넣습니다.

    md "%~dp0appdata"
    reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d "%~dp0appdata" /f
    %~dp0webpicmdline /AcceptEula /Products:PHP53 >>log.txt 2>>err.txt
    reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d %%USERPROFILE%%\AppData\Local /f
    
    
  3. 파일을 클릭한 다음 다른 이름으로 저장…을 클릭합니다. InstallPHP.cmd를 입력하고 저장을 클릭합니다.

  4. 솔루션 탐색기에서 솔루션을 확장합니다.

  5. startup 폴더를 마우스 왼쪽 단추로 클릭합니다. 추가를 클릭한 다음 기존 항목을 클릭합니다.

  6. InstallPHP.cmd 파일을 저장한 폴더로 이동합니다. 파일을 선택하고 추가를 클릭합니다.

  7. startup 폴더에서 InstallPHP.cmd 파일을 선택합니다. 속성 창에서 출력 디렉터리에 복사새 버전이면 복사로 설정합니다.

  1. 솔루션 탐색기에서 ServiceDefinition.csdef를 두 번 클릭하여 엽니다.

  2. 서비스 정의 파일에서 해당 웹 역할을 찾습니다.

  3. 다음 XML 조각을 복사하여 </WebRole> 태그 바로 앞에 붙여 넣습니다.

    ...
        <Startup>
          <Task commandLine="startup\InstallPHP.cmd" executionContext="elevated" taskType="simple"/>
        </Startup>
    ...
    
  4. 파일을 저장합니다.

작업을 마친 경우 Windows Azure 프로젝트 솔루션은 다음과 유사합니다.

VS 솔루션 탐색기의 시작 폴더

참고 항목

표시:
© 2014 Microsoft