IIS 8.0 익스프레스 개요

등록일시: 2012-07-13 09:14,  수정일시: 2013-10-05 14:56
조회수: 9,177
이 문서는 IIS 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.
본 문서에서는 개발자들을 위한 IIS 8.0 익스프레스 베타에 관해서 간단하게 살펴봅니다. 다만, 본문의 원문은 IIS 8.0 익스프레스가 정식으로 배포되기 이전인 2012년 5월 1일에 공개된 문서로, 일부 내용에 변경사항이 존재할 수 있습니다. 본 문서는 2012년 7월 현재, IIS 8.0 익스프레스 베타를 미리 살펴보기 위한 사전정보일 뿐입니다.

내용

개요

인터넷 정보 서비스(IIS) 8.0 익스프레스 베타는 개발자들을 위한 간편하고 완벽한 IIS의 무료 버전입니다. IIS 익스프레스를 이용하면 비주얼 스튜디오나 웹매트릭스 등의 도구를 사용해서 손쉽게 IIS의 가장 최신 버전을 이용한 웹사이트를 개발과 테스트를 수행할 수 있습니다. IIS 8.0 익스프레스 베타는 IIS 8 이상 버전의 모든 핵심 기능과 호환성을 갖고 있을뿐만 아니라, 웹사이트 개발에 편리한 다음과 같은 특징들을 갖고 있습니다:

  • 서비스 형태로 실행되지 않으며 대부분의 작업을 수행할 때 관리자 권한을 필요로 하지 않습니다.
  • ASP.NET 또는 PHP 응용 프로그램과 잘 동작합니다.
  • 동일한 컴퓨터에서 여러 명의 IIS 익스프레스 사용자들이 개별적으로 작업을 수행할 수 있습니다.

설치

마이크로소프트 다운로드 센터에서 IIS 8.0 익스프레스 베타를 다운로드 받아서 설치할 수 있습니다.

IIS 익스프레스 7.5에서 업그레이드하기

IIS 8.0 익스프레스를 설치할 때, 이미 IIS 7.5 익스프레스가 설치되어 있다면 설치 프로그램이 기존의 IIS 7.5 익스프레스를 IIS 8.0 익스프레스로 대체합니다. IIS 익스프레스 7.5와 IIS 익스프레스 8.0을 동시에 설치할 수 있는 기능은 지원되지 않습니다.

IIS 8.0 익스프레스를 64비트 시스템에 설치하는 경우, IIS 8.0 익스프레스의 32비트 버전과 64비트 버전이 각각 "%ProgramFiles(x86)%\IIS Express" 폴더와 "%ProgramFiles%\IIS Express" 폴더에 설치됩니다.

지원되는 플랫폼 및 아키텍처

IIS 8.0 익스프레스는 다음과 같은 운영체제들을 지원합니다:

  • 지원되는 네이티브 플랫폼
    • 원도우 8 클라이언트 (인텔/AMD) 32비트/64비트
    • 윈도우 8 서버 (인텔/AMD) 64비트
  • 지원되는 하위-수준 플랫폼
    • 윈도우 7 (x86 및 x64)
    • 윈도우 서버 2008 R2 (x86 및 x64)
    • 윈도우 비스타 SP1 이상 (x86 및 x64)
    • 윈도우 서버 2008 (x86 및 x64)

다음의 운영체제들은 IIS 8.0 익스프레스가 지원하지 않습니다:

  • 윈도우 서버 2003
  • 윈도우 XP

이런 운영체제들에서는 IIS 익스프레스 7.5를 사용해야 합니다.

IIS 8.0 익스프레스에서 변경된 점

새로운 기능

IIS 8.0 익스프레스는 다음과 같은 새로운 기능들을 지원합니다:

X64 지원
IIS 8.0 익스프레스는 32비트 및 64비트 아키텍처를 모두 지원합니다.
IIS 8.0과의 기능 공유
IIS 8.0 익스프레스는 대단히 많은 기능들을 IIS와 공유합니다. 가령, IIS 8.0 익스프레스는 IIS와 동일한 이진 파일과 구성 파일들, 그리고 상당수의 동일한 오류 코드들을 사용합니다. 따라서, 개발 환경에서 운영 환경으로 프로젝트를 이관하기가 그 어느 때보다 쉽습니다.
사용자 홈 디렉터리 변경하기
IIS 8.0 익스프레스는 구성의 %IIS_USER_HOME% 변수와 맵핑되어 있는 사용자의 홈 디렉터리 변경을 지원합니다. 이 경로는 기본적으로 %UserProfile%\Documents\IISExpress로 지정되어 있지만 레지스트리에서 HKCU\Software\Microsoft\IISExpress 키의 CustomUserHome 속성을 변경하거나, iisexpress.exe를 시작할 때 "/userhome" 매개변수를 지정해서 변경할 수 있습니다.
다중 구성 파일들을 수정하기 위한 AppCmd 지원
이제 AppCmd 유틸리티는 "/AppHostConfig" 매개변수를 지원하는데, 이 매개변수를 이용하면 AppCmd를 사용해서 기본 구성 파일뿐만 아니라 다중 ApplicationHost.config 파일도 수정할 수 있습니다.

가령, 다음 명령어는 사용자 정의 ApplicationHost.config 파일에 웹사이트를 생성합니다:
appcmd.exe set config -section:system.applicationHost/sites /+"[name='www.fabrikam.com',id='2112']" /commit:apphost /AppHostConfig:C:\Temp\IISExpress\config\ApplicationHost.config

appcmd.exe set config -section:system.applicationHost/sites /+"[name='www.fabrikam.com',id='2112'].bindings.[protocol='http',bindingInformation=':8080:localhost']" /commit:apphost /AppHostConfig:C:\Temp\IISExpress\config\ApplicationHost.config

appcmd.exe set config -section:system.applicationHost/sites /+"[name='www.fabrikam.com',id='2112'].[path='/']" /commit:apphost /AppHostConfig:C:\Temp\IISExpress\config\ApplicationHost.config

appcmd.exe set config -section:system.applicationHost/sites /+"[name='www.fabrikam.com',id='2112'].[path='/'].[path='/',physicalPath='C:\Inetpub\www.fabrikam.com']" /commit:apphost /AppHostConfig:C:\Temp\IISExpress\config\ApplicationHost.config 
위의 명령어를 사용하여 웹사이트를 추가한 다음, 다음 명령어를 사용해서 이 웹사이트를 시작할 수 있습니다:
iisexpress.exe /config:C:\Temp\IISExpress\config\ApplicationHost.config /site:www.fabrikam.com

알려진 문제점 및 제한

2012년 3월 5일에 배포된 IIS 8.0 익스프레스 베타의 최초 릴리즈에서는 윈도우 서버 8 베타에서 사용가능한 WebSocket 기능을 사용할 수 없었습니다. 그러나, 2012년 4월 4일에 배포된 IIS 8.0 익스프레스 베타의 새 릴리즈에서는 이 기능이 추가되었습니다.

하위-수준 운영체제에서 동작하지 않는 윈도우 8의 기능들

윈도우 8에서만 제공하는 아키텍처가 필요한 다음과 같은 몇 가지 기능들은 윈도우 8 이전의 운영체제에 설치된 IIS 8.0 익스프레스에서는 동작하지 않습니다:

  • 서버 이름 식별 (SNI, Server Name Indication)
  • 중앙집중식 인증서 저장소(Central Certificate Store)
  • WebSocket 기능

IIS 익스프레스 7.5에서 업그레이드하기

IIS 8.0 익스프레스를 설치할 때 이미 IIS 7.5 익스프레스가 설치되어 있으면 기존 버전이 업그레이드됩니다. IIS 8.0 익스프레스로 업그레이드되고 나면 "%ProgramFiles%\IIS Express" 폴더에 존재하는 ApplicationHost.config 파일도 IIS 8.0 익스프레스의 기능과 구성 설정을 지원하기 위해서 업그레이드됩니다. 그러나, 그 외의 위치에 존재하는 ApplicationHost.config 파일들은 업그레이드가 되지 않기 때문에, 새로운 프로젝트들은 IIS 8.0 익스프레스의 기능들을 지원하게 되겠지만 기존 프로젝트들은 이를 지원하지 못합니다. 이런 문제점을 해결하려면 기본적으로 "%UserProfile%\Documents\IISExpress\config" 폴더에 존재하는 기존 ApplicationHost.config 파일의 이름을 변경해야 합니다. 그런 다음에 비주얼 스튜디오나 웹매트릭스로 새로운 웹 프로젝트를 생성하면, IIS 익스프레스가 가장 마지막 설정이 적용된 새로운 ApplicationHost.config 파일을 생성해줍니다.

노트: IIS 8.0 익스프레스와 IIS 7.5 익스프레스의 동시 설치는 지원되지 않습니다. IIS 8.0 익스프레스의 설치 프로그램은 IIS 7.5 익스프레스가 설치되어 있으면 이를 자동으로 업그레이드합니다. 그러나, IIS 7.5 익스프레스의 설치 프로그램은 이미 IIS 8.0 익스프레스가 설치되어 있는 경우에도 이를 인지하지 못하므로, IIS 8.0 익스프레스 위에 IIS 7.5 익스프레스를 다시 중복하여 설치하는 것을 막을 수 있는 방법이 없습니다. 만약, 이런 일이 발생하게 되면 IIS 익스프레스의 일부 구성 파일들이 엉망이 됩니다. 이런 경우, 다음과 같은 단계를 수행하여 문제를 해결할 수 있습니다:

  1. IIS 8.0 익스프레스 설치 복구:
    1. 제어판을 엽니다.
    2. 프로그램 및 기능을 실행합니다.
    3. IIS 7.5 Express을 마우스 오른쪽 버튼으로 클릭하고 제거를 클릭합니다.
    4. IIS 8.0 Express을 마우스 오른쪽 버튼으로 클릭하고 복구를 클릭합니다.
    5. 제어판을 닫습니다.
  2. 불필요한 IIS 7.5 익스프레스 레지스트리 키 제거:
    1. 레지스트리 편집기를 실행합니다.
    2. 다음 레지스트리 키를 찾습니다:
      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\IISExpress\7.5
    3. 이 레지스트리 키를 마우스 오른쪽 버튼으로 클릭한 다음, 삭제를 클릭합니다.
    4. 확인 메시지가 나타나면 버튼을 클릭해서 키를 삭제합니다.
    5. 레지스트리 편집기를 닫습니다.

HTTP 서브 상태코드 변경

이제 IIS 8.0 익스프레스는 IIS와 동일한 HTTP 상태코드 및 서브 상태코드를 공유합니다. 이 변경으로 인해서 개발자들은 IIS 8.0 익스프레스나 전체 버전의 IIS를 웹 서버로 사용해서 해결해야만 했던 문제점을 찾기가 더 쉬워졌습니다. 다음 목록에는 IIS 7.5 익스프레스를 기준으로 변경되거나 제거된 서브상태 코드들이 나타나있습니다:

  • HTTP 404.20 - 기본문서가 정의되어 있지 않을 때 이 오류 코드가 반환되었었습니다:
    • IIS 8.0 익스프레스는 기본문서가 정의되어 있지 않으면 HTTP 403 Access Forbidden 오류를 반환합니다.
    • IIS 8.0 익스프레스는 너무 많은 URL 세그먼트가 존재하면 HTTP 404.20 오류를 반환합니다.
  • HTTP 404.21 - 이 오류 코드는 PHP가 설치되어 있지 않은 경우 반환되었었습니다. 이 코드는 IIS 8.0 익스프레스에서 제거되었습니다.
  • HTTP 404.22 - 이 오류 코드는 ASP.NET이 설치되어 있지 않은 경우 반환되었었습니다. 이 코드는 IIS 8.0 익스프레스에서 제거되었습니다.
  • HTTP 404.23 - 이 오류 코드는 ASP.NET 웹 페이지가 설치되어 있지 않은 경우 반환되었었습니다. 이 코드는 IIS 8.0 익스프레스에서 제거되었습니다.

추가정보

다음 링크에서 IIS 8.0 익스프레스 및 관련 제품들에 대한 추가 정보를 살펴볼 수 있습니다: