programing

IIS에서 사이트를 시작할 수 없음(다른 프로세스에서 사용)

batch 2023. 5. 1. 20:41
반응형

IIS에서 사이트를 시작할 수 없음(다른 프로세스에서 사용)

IIS에서 사이트를 시작하려고 하면 다음과 같이 표시됩니다.

다른 프로세스에서 사용되었기 때문에 프로세스에서 파일에 액세스할 수 없습니다.

구글에서 검색해보니 다른 사이트가 포트 80을 사용하고 있을 수 있지만 내 사이트에서는IIS 이 사이트만 포트 80을 사용하고 있습니다.포트 80을 사용하는 다른 방법이나 관련된 다른 문제가 있습니까?

사하여확을 사용하여 합니다.netstat -aon또는netstat -aon | findstr 0.0:80명령 프롬프트에서 포트:80에서 수신 대기 중인 프로세스 ID를 확인한 다음 view->select columns-> process id를 선택한 상태에서 작업 관리자에서 해당 프로세스 ID(PID)를 확인합니다.해당 프로세스를 종료하고 IIS를 다시 시작하면 완료됩니다. (참고: Skype가 설치되어 있는 경우 먼저 해당 프로세스를 종료해 보십시오.)

최신 작업 관리자에서는 세부 정보 탭에서 PID를 검색해야 합니다.또는 @Nikita G가 설명에 언급한 것처럼 다음 명령을 사용하여 명령 프롬프트에서 작업을 찾을 수 있습니다.

tasklist /FI "PID eq 123"

고: 변경123첫 번째 명령에서 반환된 PID를 사용합니다.

다른 프로세스가 포트 80을 사용하고 있기 때문에 발생하는 것으로, 스카이프와 같은 PC의 채팅 애플리케이션일 수 있습니다.

먼저 80이었던 기본 웹 사이트 포트를 사용하지 않는 일부 포트(예: 8087)로 변경합니다.이 권한을 얻으려면 응용프로그램을 클릭한 다음 '바인딩 편집'을 클릭합니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

이 포트 변경 후 다시 시작합니다.이제 IIS 포트 80을 차단하는 프로세스를 식별할 수 있습니다.이를 확인하려면 netstat 명령을 사용하여 프로세스 ID와 함께 포트의 세부 정보를 표시합니다.

Skype에서 로그아웃한 후 다시 시도하십시오.동일한 문제가 발생하여 방금 Skype에서 로그아웃한 후 IIS를 재설정했습니다.그것은 나에게 효과가 있었다.

또한 이 명령을 실행하여 포트를 사용 중인 응용 프로그램 또는 서비스를 찾은 다음 작업 관리자에서 추적할 수 있습니다(Web Deploy 에이전트 서비스가 아닌 경우).

netstat -o -n -a | findstr 0.0:80

그런 다음 작업 관리자를 열고 프로세스로 이동한 다음 "모든 사용자에 대한 프로세스 표시" 확인란을 클릭한 다음 보기 메뉴를 클릭하고 열로 이동하여 PID 열을 추가합니다.

netstat 명령의 프로세스 ID를 작업 관리자의 PID와 일치시키면 포트를 사용하는 서비스 또는 응용 프로그램을 찾을 수 있습니다.

다른 사용자가 말했듯이 다른 사용자가 포트 80 또는 443을 사용하고 있을 수 있습니다.VMWare Workstation Server였지만 netstat 사용 방법에 대한 다른 답변을 확인하십시오.

링크는 이 문제에 대한 꽤 좋은 설명과 해결책을 제공한다고 생각합니다. http://support.microsoft.com/KB/890015

대부분의 경우, 두 가지 이유 중 하나로 인해 발생합니다. 1) 포트 80이 다른 사용자에 의해 사용되고 있으며 다른 사용자가 제안한 대로 netstat -o -n -a |findstr 0.0:80을 사용하여 해당 여부를 확인할 수 있습니다.예인 경우 작업 관리자의 프로세스를 종료합니다(모든 사용자의 프로세스 표시 선택).

포트 80을 사용하지 않는 경우 두 번째 원인은 HTTP->Parameters의 레지스트리 키에 있는 ListenOnlyList의 잘못된 IP 주소일 수 있습니다.으로 키를 ( 2003) 을할 수 .httpcfg delete iplisten -i ipaddress잘못된 IP 주소를 삭제합니다.ipaddress를 시작해야 !

제 경우 포트 80을 실행하고 사용하는 것은 "Sync Share Service"(SyncShareSvc)였습니다. netstat는 80을 무료로 표시했습니다.80이 아닌 다른 포트에서 사이트를 실행할 수 있습니다. 호스트 이름을 추가하면 IIS에서 사이트를 시작할 수 있지만 localhost(또는 추가한 호스트 이름)를 찾을 때 다이제스트 인증을 묻는 메시지가 나타납니다.IIS에서 익명 및 양식 인증만 사용하도록 설정되었습니다...

후 IIS가http://localhost다이제스트 인증을 요구하는 메시지가 계속 표시됩니다.

이 경우 솔루션은 설치된 서비스에서 파일 및 스토리지 서비스 > 파일 iSCSI 서비스 > "작업 폴더"를 제거하는 것이었습니다(다시 시작해야 함).

"작업 폴더" 서비스를 제거하고 다시 시작한 후 IIS가 예상대로 작동했습니다.

제 경우는 RD 웹 액세스를 설치한 후 원래 기본 웹 사이트를 시작할 수 없었습니다.RD 웹 액세스 역할을 제거했지만 여전히 동일합니다.포트 443 바인딩을 제거하여 문제를 해결했습니다.

대부분의 경우 웹 개발자들에 의해 이런 일이 발생하는 것이 아파치의 이유입니다. 그래서 만약 당신이 apache에서 config 파일로 간다면! 그것을 열고 ctrl + f를 80으로 검색하고 ip를 8080으로 변경하면 당신은 8080으로 보일 것이고 그 아래의 문장을 80에서 8080으로 바꿀 것입니다. 그리고 당신은 그것을 당신이 현재 사용하고 있는 프로그램에서 구성해야 합니다.

제가 도와드릴 수 있기를 바랍니다.

보다 의미 있는 정보를 얻기 위해서는 발행 시 소유권 정보를 얻는 것도 한 가지 있습니다.netstat80(기본 http 바인딩) 또는 443(https 바인딩이 정의된 경우)을 사용하는 프로세스를 알 수 있도록 합니다.

 netstat -ab

제 경우 범인은 vmware였습니다.

TCP 0.0.0.0:443 컴퓨터 이름:0 LISTENING
[http-hostd].exe] 을

netstat를 find에 연결하여 포트 80 또는 443을 검색할 수 있습니다(예:find ":443"그러나 이러한 활성 연결은 목록의 시작 부분에 쉽게 표시됩니다.

언급URL : https://stackoverflow.com/questions/14411090/cant-start-site-in-iis-use-by-another-process

반응형