PID : 4 포트 80 사용


53

내 컴퓨터에 Zend Server CE를 설치하려고했지만 요점에 도달하면 웹 서버의 포트를 선택해야합니다. "웹 서버 포트 : 80 점유". 그래서 "netstat -o -n -a | findstr 0.0 : 80"을 입력하여 CMD에서 포트 80을 사용하고있는 것을 확인하기로했습니다.

TCP     0.0.0.0:80     0.0.0.0:0     LISTENING     4

작업 관리자의 프로세스 및 서비스에서 PID : 4를 확인합니다. PID 4는 "시스템"인 것 같습니다.

그래서 내가 알고 싶은 것은 "System"(PID : 4)이 포트 80을 사용하지 못하게하는 방법입니다.

정보 : 사용중인 : Windows 7 64bit; 젠드 서버 CE 5.5.0


"GET / HTTP / 1.1"을 127.0.0.1로 텔넷으로 연결하여 어떤 결과가 나오는지 확인하십시오.
LawrenceC

@ultrasawblade 정확히 어떻게해야합니까?
apokaliptis

1
실행 telnet 127.0.0.1 80하고 그 줄을 지나서 Enter 키를 두 번 누르십시오. Windows 7을 실행중인 경우 먼저 "Windows 기능 추가 및 제거"에서 텔넷 클라이언트를 설치해야합니다.
billc.cn

1
나를 위해 Windows 8 64의 월드 와이드 웹 게시 서비스가 트릭을 수행했습니다.

2
HTTP 서비스 상태는 PID 4의 경우 실행중인 서비스를 식별하는 데 도움이됩니다 . 등록 된 URL 또는 로깅 정보를 실행 netsh http show servicestate하고보십시오 .
pazadev 2016 년

답변:


78

좋아, 웹을 잠시 검색 한 후 내 문제에 대한 해결책을 찾았습니다.

다음 단계에 따라 문제를 진단하고 해결하십시오.

  1. 포트 80을 듣고있는 pid를 얻으십시오. netstat -nao | find ":80"

  2. 작업 관리자를 열고 프로세스 탭으로 이동하여에서 "PID"를 확인한 Menu/View/Select Columns…다음 마지막 단계에서 찾은 PID를 사용하여 프로세스를 찾으십시오.

  3. 그것은 경우 일반 응용 프로그램 또는 IIS, 비활성화 또는 제거합니다. Skype와 같은 일부 프로그램에는 포트 80 사용을 비활성화하는 옵션이 있습니다.

  4. 그것은 경우 시스템 프로세스 -PID 4 - 당신은 Windows 7 또는 2008 Windows 원격 관리 또는 인쇄 스풀러와 같은 다른 서비스에 의해 수요에 시작되는 HTTP.sys에 드라이버를 사용하지 않도록해야합니다.

    비활성화하는 두 가지 방법이 있지만 첫 번째 방법이 더 안전합니다.

    1.

    • 장치 관리자로 이동하여 메뉴 /보기에서 "숨겨진 장치 표시"를 선택하고 "논 플러그 앤 플레이 드라이버"/ HTTP로 이동 한 다음 두 번 클릭하여 비활성화하거나 수동으로 설정하십시오 (일부 서비스에 따라 다름).

    • 재부팅하여 netstat -nao | find ":80"80이 여전히 사용 중인지 확인하십시오.

    2.

    • RegEdit을 시작하십시오.

    • 이동 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

    • "start"값을 4로 변경하십시오. 이는 사용 불가능 함을 의미합니다.

    • 컴퓨터를 재부팅하십시오.

내 솔루션은 4 단계였습니다 .


4
Windows Server 2012의 장치 관리자에서 "비 플러그 앤 플레이 드라이버"트리는 어디에 있습니까?
Maria Ines Parnisari

4
Windows 8부터는 장치 관리자 접근 방식을 사용할 수 없습니다.
Roddy

1
레지스트리 솔루션은 Win8에서 작동했습니다. 나는 리눅스가 그립다.
AlikElzin-kilaka

5
이것을 조금 조정하십시오. Windows에서 "HTTP"서비스를 비활성화하면 모든 종속성이 비활성화됩니다. 포트 80을 사용하는 특정 서비스는 "HTTP"의 종속성 인 "W3SVC"(World Wide Web Publishing 서비스)입니다. 관리 명령 프롬프트에서 "net stop W3SVC"를 실행 한 다음 'netstat -n -o -a | 더 이상 포트 80에 아무것도 표시되지 않는지 확인하려면 ": 80"을 찾으십시오. 대신 SSDP, 인쇄 스풀러, 홈 그룹 및 기능 검색을 비활성화하지 않으려면 W3SVC (World Wide Web Publishing 서비스)를 비활성화하는 것이 좋습니다.
chriv

2
이 지침을 전혀 이해하지 못합니다 . 메뉴 항목 Go to device manager, select “show hidden devices” from menu/view, go to “Non-Plug and Play Driver”/HTTP, double click it to disable it (or set it to manual, some services depended on it).이 없습니다 Non-Plug and Play Driver”/HTTP.
Martin Erlic

25

Windows 8 Pro-Build 9200을 설치 한 후이 문제가 발생했습니다. 몇 가지 방법을 시도했지만 작동하지 못했습니다. 그러나 이것은 고정되었습니다.

HTTP.SYS의 바인드 된 IP 주소를 변경해야합니다.

netsh http add iplisten ipaddress=::

http://www.mikeplate.com/2011/11/06/stop-http-sys-from-listening-on-port-80-in-windows/


이 솔루션은 http.sys를 사용하지 않는 서버와 그렇지 않은 서버를 모두 실행해야 할 때 유용합니다.
Thor Jacobsen

또한 나를 위해 일했습니다. 그래도 실제로 무엇을합니까?
akame

1
포트가 비워졌지만 다른 부작용이 있기 때문에이 문제가 해결되었다고 생각했습니다. 특히이 변경 후 IIS를 통해 특정 호스트 이름에 바인딩 할 수 없었습니다. 실행 취소하려면netsh http delete iplisten ipaddress=::
cchamberlain

이것은 나를 위해 일했지만 부작용이있었습니다. 동일한 명령을 사용하지만 다른 IP 주소를 사용하는 가능한 대안은 아래 답변을 참조하십시오.
Dave Morton

6

제 경우에는 WebMatrix였습니다. 여기에 가능한 해결책 (이것을 포함하여)을보십시오 : http://www.sitepoint.com/unblock-port-80-on-windows-run-apache/

원래:

관리 도구에서 서비스를 열고 "Web Deployment Agent Service"를 찾으십시오. 서비스를 중지하고 시작 유형을 "수동"으로 설정하십시오.

웹 배포 에이전트 서비스는 WebMatrix와 함께 배포되었으며 문제의 원인이었습니다. Microsoft의 Web Platform Installer를 사용하여 설치된 다른 응용 프로그램과 함께 배포 될 수도 있습니다.


또한 내가
겪었던

5

PID 4는 시스템 커널의 일부인 "시스템"프로세스로 하드 코딩되어 있습니다.

포트가 시스템에서 사용중인 경우 IIS를 사용하도록 설정했을 수 있습니다. https : //.com/questions/1430141/port-80-is-being-used-by-system-pid-4-what-is-that 참조


도움이 될만한 IIS 7.5 Express 사고를 제거했습니다. 다시 시작해야할까요? 나는 그것을 시도 할 것입니다.
apokaliptis

아니. 여전히 문제가 지속됩니다.
apokaliptis

IIS 7.0 (Windows 7과 함께 제공되는 것)도 설치되어 있습니까? 일반적으로 w3svc를 중지하면 포트가 닫힙니다.
billc.cn

아니. 내가 아는 한 다른 웹 서버도 설치해서는 안됩니다.
apokaliptis

netstat를 다시 실행할 수 있지만 LISTENING중인 포트만 게시 할 수 있습니까?
billc.cn

1

명령을 사용하는 동안 netsh http add iplisten ipaddress=::그가에 묶여로 한, 참으로, 아파치가 내 Windows 10 64 비트 시스템에서 시작할 수 있도록, 그것은, 로컬 호스트 액세스를 시도하여 혼란을 낸 ::대신 127.0.0.1심지어 내 호스트 파일에서 적절한 항목으로. 내가 한 일은 대신이 명령을 대신 사용하는 것이 었습니다 netsh http add iplisten ipaddress=0.0.0.0 . 나에게 이것은 탁월한 솔루션이었습니다.


0

서비스 목록을 엽니 다. "World Wide Web Publishing 서비스"를 찾아 중지하고 수동으로 설정하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.