Próbowałem zainstalować Zend Server CE na moim komputerze, ale kiedy doszedłem do sedna sprawy, muszę wybrać port dla mojego serwera WWW, który mówi: „Port serwera sieci Web: 80 zajęty”. Postanowiłem więc sprawdzić, co jest używane przez port 80 z CMD, wpisując: "netstat -o -n -a | findstr 0.0: 80":
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
Sprawdzam PID: 4 w procesach i usługach Menedżera zadań. Wydaje się, że PID 4 to „System”.
Więc chcę wiedzieć, jak mogę powstrzymać „System” (PID: 4) przed używaniem portu 80?
INFO: Używam: Windows 7 64bit; Zend Server CE 5.5.0
telnet 127.0.0.1 80
a następnie mija tę linię i naciśnij dwukrotnie klawisz Enter. Jeśli korzystasz z systemu Windows 7, musisz najpierw zainstalować klienta telnet z „dodaj i usuń funkcje systemu Windows”.netsh http show servicestate
i spójrz na zarejestrowane adresy URL lub Informacje rejestrowania .Odpowiedzi:
Ok, po przeszukaniu internetu znalazłem rozwiązanie mojego problemu.
Wystarczy wykonać następujące kroki, aby zdiagnozować i rozwiązać problem:
Uzyskaj pid, który nasłuchuje portu 80:
netstat -nao | find ":80"
Otwórz menedżera zadań, przejdź do karty procesów i zaznacz „PID” w
Menu/View/Select Columns…
, poszukaj procesu używając PID znalezionego w ostatnim kroku.Jeśli to jest normalna aplikacja lub IIS, wyłącz go lub odinstaluj. Niektóre programy (takie jak Skype) mają opcję wyłączenia korzystania z portu 80.
Jeśli to jest Proces systemowy —PID 4 - musisz wyłączyć sterownik HTTP.sys, który jest uruchamiany na żądanie przez inną usługę, taką jak Windows Remote Management lub Bufor wydruku w systemie Windows 7 lub 2008.
Istnieją dwa sposoby wyłączenia go, ale pierwszy jest bezpieczniejszy:
1
Przejdź do menedżera urządzeń, wybierz „pokaż ukryte urządzenia” z menu / widoku, przejdź do „Sterownika bez wtyczki i odtwarzacza” / HTTP, kliknij go dwukrotnie, aby go wyłączyć (lub ustaw go na manualny, niektóre usługi zależą od niego).
Uruchom ponownie i użyj
netstat -nao | find ":80"
sprawdzić, czy 80 nadal jest używane.2.
Uruchom RegEdit.
Iść do
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
Zmień wartość „start” na 4, co oznacza wyłączenie.
Zrestartuj swój komputer.
Moje rozwiązanie było krokiem 4 .
źródło
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\UrlAclInfo
, a następnie uruchom ponownie komputer.Właśnie miałem ten problem po zainstalowaniu Windows 8 Pro - Build 9200. Próbowałem kilku metod, ale nie mogłem ich zmusić do działania. Ten jednak naprawił to.
Musisz zmienić powiązany adres IP dla HTTP.SYS
http://www.mikeplate.com/2011/11/06/stop-http-sys-from-listening-on-port-80-in-windows/
źródło
netsh http delete iplisten ipaddress=::
W moim przypadku była to WebMatrix. Zobacz możliwe rozwiązania (w tym ten) tutaj: http://www.sitepoint.com/unblock-port-80-on-windows-run-apache/
Gruntownie:
źródło
PID 4 jest zakodowany jako proces „systemowy”, który jest częścią jądra systemu.
Jeśli port jest zajęty przez system, prawdopodobnie włączono usługi IIS. Widzieć https://stackover.com/questions/1430141/port-80-is-being-used-by-system-pid-4-what-is-that
źródło
Podczas korzystania z polecenia
netsh http add iplisten ipaddress=::
rzeczywiście pozwolił uruchomić Apache na moim 64-bitowym systemie Windows 10, spowodował spustoszenie przy próbie uzyskania dostępu do lokalnego hosta, co było związane z::
zamiast127.0.0.1
, nawet z odpowiednim wpisem w moim pliku hosts. Skończyło się na tym, że zamiast tego użyłem tego polecenia:netsh http add iplisten ipaddress=0.0.0.0
To nie tylko zadziałało, ale umożliwiło również dostęp przeglądarki do hosta lokalnego. Dla mnie było to lepsze rozwiązanie.źródło
Otwórz listę usług Znajdź „usługę publikowania w sieci World Wide Web” Zatrzymaj go i ustaw na Manual
źródło