IIS Insider

2005년 3월

IIS Insider

인터넷 정보 서비스 관련 주요 질문과 답변

Brett Hill 작성

오류 해결: 서버가 응용 프로그램을 로드하지 못했습니다.

Q최근에 Windows 2000 Server에 IIS 5를 설치하고 모든 업데이트를 적용했습니다. HTML 같은 정적 웹 페이지나 그림 로딩에는 문제가 없는데 ASP를 렌더링할 수 없습니다. 여러 가지 오류가 발생하지만 그 중 'LM/W3SVC/1/Root' 응용 프로그램을 로드하지 못했습니다. 오류가 가장 일반적으로 발생합니다. ASP.dll을 등록하고 메타베이스를 검사했는데 메타베이스에는 문제가 없는 것 같습니다. 다시 설치하지 않고 이 문제를 해결하는 방법이 있나요?
A이 문제의 가장 큰 원인은 DTC Coordinator 서비스가 시작되지 않았기 때문인 것 같습니다. 서비스가 시작되었다면 이벤트 뷰어에서 IWAM_서버 이름 계정과 관련된 로그온 실패 메시지가 있는지 확인하십시오. dllhost.exe 프로세스는 IIS 관리자에서 보통(풀링됨) 또는 높음(격리됨)으로 실행되도록 표시된 웹 응용 프로그램에 대한 "호스트"입니다. IWAM 계정(일반적으로 많이 사용되는 이름)은 dllhost.exe에 대한 프로세스 식별자입니다. 이 계정의 암호가 메타베이스와 로컬 SAM 파일의 암호와 일치하지 않으면 보통 또는 높은 응용 프로그램 보호("독립 프로세스 응용 프로그램"이라고 함)로 실행되도록 설정된 응용 프로그램을 시작할 수 없습니다. IWAM 계정으로 로그온하지 못했다는 메시지를 받은 경우에만 다음을 수행합니다.

  1. Metabase.bin과 레지스트리를 백업합니다.
  2. \Inetpub\AdminScripts 스크립트 폴더에서 synciwam.vbs를 실행합니다.
설치 중 필요한 COM+ 구성 요소를 만들 때 IIS 5에서 문제가 발생하는 경우도 있습니다. \%windir%\system32 폴더에 이름이 ~clbcatq.dll인 파일이 있는지 확인하십시오. 이 파일은 보통 존재하지 않습니다. 이 파일이 존재한다면 설치 중에 문제가 발생했다는 의미일 수 있습니다.

이 문제는 아래와 같이 해결할 수 있습니다.

  1. ~clbcatq.dll 파일과 \%systemroot%\registration 폴더의 내용을 삭제합니다.
  2. 그리고 나서 시작, 설정, 제어판, 프로그램 추가/제거, Windows 구성 요소 추가/제거를 차례로 클릭합니다.
  3. 어떤 변경도 하지 말고 다음을 클릭합니다. 설치 프로세스가 진행되는 것처럼 나타나지만 변경되는 사항은 없습니다. 이 과정에서 필요한 COM 패키지가 검사되고 여기서 문제가 해결되는 경우도 있습니다.
  4. 마지막으로 IIS를 다시 시작하고 응용 프로그램이 실행되는지 확인합니다.

    참고: 응용 프로그램이 실행되지 않으면 관리 도구에서 구성 요소 서비스 관리자 콘솔을 열고 IIS In Process Applications, IIS Out of Process Pooled Applications 및 IIS Utilities 패키지를 삭제합니다. 명령 프롬프트에서 다음과 같이 입력합니다.

    cd %windir%\system32\inetsrv 
    
    rundll32 wamreg.dll, CreateIISPackage 
    
    regsvr32 asptxn.dll

    참고: CreateIISPackage에서는 대/소문자가 구분됩니다.

    서버를 다시 부팅하고 응용 프로그램을 다시 시작합니다. 자세한 내용은 http://support.microsoft.com/?kbid=309051을 참조하십시오.


페이지 맨 위로페이지 맨 위로

로그 파일을 SQL Server로 보내기

Q일반 텍스트 파일이 아닌 SQL Server로 로그 파일을 보내도록 IIS를 구성할 수 있다는 사실을 최근에 알게 되었습니다. SQL Server로 로그 파일을 보내면 트래픽 연구, 문제 식별 및 웹 사이트 사용 분석에 크게 도움이 될 것입니다. 하지만 ODBC 사용과 관련하여 비용이 추가되는 것은 아닌지 걱정됩니다. 로그를 SQL 데이터베이스로 통합하는 방법을 사용할 때 문제가 있을까요?
A물론 SQL 데이터베이스에 로그를 기록할 수 있지만 성능에 영향을 줄 수 있습니다. ODBC 로깅과 관련하여 크게 고려해야 할 두 가지 사항이 있습니다. 첫째, 데이터베이스를 호출하여 이벤트를 기록하는 작업이 이벤트를 텍스트 파일에 기록하는 작업보다 훨씬 복잡하기 때문에 성능이 저하될 수 있습니다. 작업량이 많은 서버에서는 성능에 끼치는 영향이 더 클 수 있습니다. 둘째, 로그 파일 기록 시 네트워크 연결 또는 SQL Server와 관련된 문제가 발생하더라도 얼마 동안 이러한 문제 발생 사실에 대해 모를 수 있습니다. 이 기간 동안에는 로깅 항목이 기록되지 않습니다. ODBC 로깅은 실제로는 매우 오래된 IIS 기능이며 대단한 옵션은 아니라고 생각합니다.

그렇지만 질문자가 말했듯이 로그 파일을 SQL 데이터베이스에 보관하면 분석할 데이터가 많을 때는 훌륭한 트래픽 분석 방법이 됩니다. 좋은 소식은 IIS를 다시 구성하고 성능에 미치는 영향을 관리할 필요 없이 로그를 SQL Server로 전달하는 두 가지 훌륭한 방법이 있다는 것입니다.

SQL에서 IIS 로그 파일의 데이터를 정기적으로 가져오는 작업을 만들 수 있습니다. SQL Server는 사용자가 정의한 주기에 따라 큰 로그 파일을 쉽게 가져올 수 있습니다. 이 방법은 현재 운영하지 않는 서버에 있는 로그 파일 집합을 연구하려고 할 때 매우 좋은 방법입니다. 운영 중인 IIS 서버에서 SQL Server로 로그 파일을 이동하려면 Microsoft.com의 IIS 관리자가 사용하는 방법을 권합니다. 즉, 무료 Microsoft 로그 파서 도구  를 통해 IIS 로그를 SQL Server로 보냅니다.

로그 파서 도구를 사용하면 모든 IIS 서버와 모든 웹 사이트(또는 지정된 서버 및 사이트)를 통해 구문을 분석할 명령을 실행하고 사용자가 지정하는 로그 파일 항목을 추출한 다음 해당 레코드 집합을 지정된 SQL Server로 보낼 수 있습니다. 또한 -iCheckpoint 기능을 사용하면 로그 파서 도구가 로그 파일에서 마지막으로 구문 분석한 줄을 기억하여 다음에 그 줄부터 시작할 수 있습니다. 이 방법을 사용하면 사용자가 "보낸" 로그 파서 쿼리가 실행될 때마다 새로운 로그 파일 항목만 SQL Server에 전달됩니다.

로그 파서 도구를 효과적으로 사용하려면 약간의 지식이 필요하지만 이 도구에는 IIS 관리자에게 유용한 기능이 너무 많아 이 도구 없이는 관리하기 매우 불편함을 느낄 것입니다.

로그 파서 도구에는 몇 가지 버전이 있으므로 최신 버전에 대해 궁금할 것입니다. 현재 이 글을 쓰고 있는 시점에서는 최신 버전이 2.2입니다. 이 도구는 http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en  에서 무료로 다운로드할 수 있습니다. http://www.logparser.com  에서 로그 파서 도구와 관련된 유용한 링크 및 신간 서적을 확인할 수 있습니다.





페이지 맨 위로페이지 맨 위로

웹 사이트별로 WebDAV 설정 또는 해제

QWebDAV에 관해 조금 설명해 줄 수 있습니까? 일부 작성자를 위해 WebDAV를 사용할 수 있는지 알고 싶습니다. 여러 웹 사이트 중 단 하나의 웹 사이트를 위해 WebDAV를 사용할 수 있는 방법이 있습니까?
AWebDAV(Web Distributed Authoring and Versioning)는 HTTP를 통해 IIS 서버(IIS 5 또는 IIS 6)에서 내용을 게시하는 방법입니다. WebDAV는 RFC에 기반을 두고 HTTP를 통해 구현되므로 수정할 필요 없이 대부분의 방화벽을 통과합니다. 이 방법을 사용하면 FTP와 같은 특정 프로토콜이나 특정 COM 개체를 사용하지 않고 웹 서버에서 게시할 수 있습니다.

WebDAV 구조는 복잡하며 어떤 클라이언트 OS를 사용하여 어떤 버전의 IIS에 연결하는가와 같은 세부 사항도 문제가 될 수 있습니다. 예를 들어 사용자가 대상 위치의 내용을 보여주는 웹 폴더를 여는 HTTP 요청을 입력하려고 한다고 가정합시다. 그림 1에서는 파일, 열기를 선택한 경우 Internet Explorer 6(IE)에서 나타나는 대화 상자를 보여줍니다. IE에서 웹 페이지 대신 웹 폴더를 열도록 지정하는 "웹 폴더로 열기"라고 표시된 확인란을 볼 수 있습니다.



그림 1: 웹 폴더로 열기 확인란
큰 이미지 보기
대상 서버의 보안 구성 세부 사항에 따라 웹 폴더를 사용하여 내용을 끌어 놓을 수 있습니다. 이 작업이 제대로 수행되도록 구성한다면 특별한 소프트웨어 없이도 서버에서 내용을 신속하고 간단하게 가져올 수 있으며 주변에서 포트를 추가로 열지 않아도 됩니다.

WebDAV를 구현하기가 조금 혼란스러울 수 있는데, 이는 주로 서버에 여러 가지의 웹 폴더가 있어 클라이언트를 다양하게 구현해야 하기 때문입니다. 예를 들어 FPSE(FrontPage Server Extensions)는 WebDAV 웹 폴더처럼 보이는 웹 폴더 기능을 제공하며 설치 시 httpext.dll(IIS 5와 IIS 6의 WebDAV 공급자) 대신에 연결을 클라이언트에 제공합니다. 그러나 FPSE는 httpext.dll이 요구하지 않는 인증을 클라이언트에 요구할 수도 있습니다. 이러한 사항과 다른 몇 가지 세부 사항 때문에 매우 유용함에도 불구하고 WebDAV를 전사적으로 구현하기 어려울 수 있습니다.

결론적으로 말하자면 IIS에는 사이트별로 WebDAV를 설정하거나 해제하는 방법이 기본 제공되어 있지 않습니다. IIS 5에서 WebDAV는 기본적으로 모든 웹 사이트에 대해 설정되어 있습니다. 이를 해제하려면 URLScan을 사용하여 들어오는 WebDAV 요청(기본적으로 차단되어 있음)을 차단하거나 기술 자료 문서 IIS 5.0용 WebDAV를 해제하는 방법을 참조하십시오. IIS 6에서는 단지 IIS 관리자의 웹 서비스 확장 노드에서 WebDAV를 설정하거나 해제하면 됩니다. IIS 6에서 WebDAV는 기본적으로 해제되어 있습니다.

참고 항목:


자세한 정보

질문이 있으시면 IIS Insider 로 보내주십시오. 선택된 질문은 답변과 함께 향후 IIS Insider 칼럼에 게시됩니다.

IIS Insider 칼럼의 이전 질문과 답변에 대한 목록을 보려면 여기  를 클릭하십시오.

Microsoft Corporation은 이 정보가 사용자에게 유용하게 사용되기를 바랍니다. 그러나 여기에 포함된 정보의 사용에 따른 책임은 전적으로 사용자에게 있습니다. 여기에 포함된 모든 정보는 그 정확성, 완전성, 특정 목적에의 적합성, 제목 또는 권리 비침해를 포함하여 명시적이든 묵시적이든 어떠한 보증 없이 "있는 그대로" 제공되며, Microsoft Corporation은 여기에 인용된 서드 파티 제품이나 정보를 제작, 권장, 지원 또는 보증하지 않습니다. Microsoft Corporation은 이 정보의 사용으로 인해 발생하는 모든 직접, 간접 또는 특별하거나, 부수적 또는 파생적 손해에 대하여 책임을 지지 않으며 이는 Microsoft가 그와 같은 손해의 가능성을 사전에 알고 있었던 경우에도 마찬가지입니다.



페이지 맨 위로페이지 맨 위로

최종수정일 : 2005년 6월 22일