Dlaczego proces systemowy nasłuchuje na porcie 80?

81

Korzystam z systemu Windows 7 RC1. Mam wiele problemów z uruchomieniem usług IIS w moim systemie i dzisiaj, gdy zainstalowałem nową aplikację i próbowałem ją załadować za pomocą http: \ localhost \ MyApplication, nie otrzymuję absolutnie żadnych błędów i nie ładuję strony. Po prostu ładna, biała pusta strona.

Zrobiłem trochę kopania i znalazłem coś na temat innego procesu nasłuchującego na porcie 80, więc wykonałem skanowanie za pomocą netstat -aon | findstr 0.0:80i odkryłem, że PID 4 nasłuchuje na tym porcie.

PID 4 nie wyświetla się w menedżerze zadań, więc uruchomiłem Process Explorer i pokazało mi, że PID 4 jest procesem systemowym. (Wiele wyszukiwań w Google wydaje się wskazywać, że System zawsze używa PID 4).

Od tego czasu w zasadzie utknąłem. Nie mam pojęcia, dlaczego System potrzebuje portu 80 i co z tym zrobić.

Jeśli przejdziesz do poniższych ciągów, u góry wyników wyszukiwania znajdziesz dwa pomocne artykuły dotyczące wymiany ekspertów i możesz je przeczytać, aby uzyskać przydatne informacje.

(Gdybym podał bezpośredni adres stron, Experts-Exchange poprosiłby Cię o zapłatę ... ale kiedy klikniesz wyniki wyszukiwania Google, możesz przewinąć do samego dołu, aby przeczytać giełdy).

Oto wyszukiwania google ...
„Proces systemu nasłuchuje na porcie 80 (Vista)”
„Proces SYSTEM nasłuchuje na porcie 80 i zapobiega uruchomieniu domyślnej witryny IIS”

Ostatni wpis z pierwszego wyniku pokazał, jak wykonać śledzenie http.sys pod następującym adresem URL:

http://blogs.msdn.com/wndp/archive/2007/01/18/event-tracing-in-http-sys-part-1-capturing-a-trace.aspx

Trace nie pokazał nic przydatnego. jakieś pomysły?

Seth Spearman
źródło
Te same problemy tutaj, z tym wyjątkiem, że wypróbowałem wszystkie odpowiedzi zgodnie z sugestiami i nic. Nie mogę po prostu zacząć wyłączać usług, ponieważ jest to serwer w chmurze poza witryną.
Jerry Dodge,
Czy miałeś na myśli, że używasz Windows 7 SP1, a nie RC1?
cmorse
4
Czy korzystasz ze Skype? support.skype.com/en/faq/FA148/…
Plutext
Prawdopodobnie nie rozwiązuje to problemu, w każdym razie możesz zmienić port Apache na 8080... Cóż, to nie jest rozwiązanie, ale może działać tymczasowo, dopóki nie znajdziesz właściwego rozwiązania ... Rozwiązanie @rakslice rozwiązało problem
Girardi
Rozwiązanie Skype jest rozwiązaniem! zamknij Skype i uruchom apache. gotowy!
Codebeat

Odpowiedzi:

28

Ten post na temat uruchamiania Apache'a na porcie 80 w Windows 7 (archiwum internetowe) opisuje twój punkt widzenia.

Wygląda na to, że http.sysusługa (zdalne zarządzanie Windows?) Jest domyślnie włączona w systemie Windows 7.
Uruchom komentarze w tym linku, aby uzyskać więcej notatek ...

strona hipen niekoniecznie ma jedyne odpowiedzi.

nik
źródło
1
Kolejny świetny artykuł: devside.net/wamp-server/…
cierń
2
I to jest nadal aktualne w przypadku Windows 8.1
Sverrir Sigmundarson
3
Strona jest offline. Czy możesz dodać niezbędne informacje do odpowiedzi?
fixer1234,
4
Dla mnie była to usługa publikowania w sieci WWW - domyślnie była ustawiona na automatyczną i musi używać portu 80.
rockerston
1
Zaktualizowałem system Windows 7 do systemu Windows 10 i włączyłem usługę publikowania w sieci WWW w trybie automatycznym. Szalony, bo nawet nie używam IIS.
Phil_1984_
49

Usługa Web Deployment Agent działa na porcie 80 jako System. Możesz mieć to uruchomione, jeśli używasz WebMatrix.

N Reed
źródło
Powiązany link: eat.cheezburger.com/author/johnc . Odinstalowałem dwa wymienione porgramy: „Microsft Web Deploy 2.0” i „Web Deployment Tool” (a także samą WebMatrix)
Frank Schwieterman
Powiązany link: remkoweijnen.nl/blog/2012/01/02/...
Remko
1
Zobacz stackoverflow.com/questions/5867392, aby uzyskać informacje na temat zmiany tego portu.
tony722,
Zatrzymałem usługę Web Deployment Agent i ustawiłem ją na Start ręczny, a następnie potwierdziłem, że nadal mogę publikować w IIS na tym serwerze z Visual Studio i wszystko jest w porządku. Port 80 jest teraz dla mnie dostępny, a moja inna funkcjonalność nadal działa.
JMD
net stop "Web Deployment Agent Service"uwolnił dla mnie 80.
Philippe Signoret
46

Otwórz Services.msc i zatrzymaj tę usługę „Usługi raportowania serwera Sql (MSSQLSERVER)”

wprowadź opis zdjęcia tutaj

Próbowałem WSZYSTKO, ale to zadziałało dla mnie:

dalsze instrukcje dotyczące zatrzymania tej usługi znajdują się poniżej

  1. Kliknij Mój komputer prawym przyciskiem myszy
  2. Wybierz Zarządzaj
  3. Kliknij dwukrotnie Usługi i aplikacje
  4. Następnie kliknij dwukrotnie Usługi
  5. Kliknij prawym przyciskiem myszy „Usługi raportowania serwera Sql (MSSQLSERVER)”
  6. Wybierz Stop ... i voila, port 80 został zwolniony
Isabel Grobler
źródło
7
+1. W moim przypadku był to rzeczywiście SQL Server.
Assaf Levy,
To też działało dla mnie. Zatrzymałem wszystkie usługi związane z SQL (w tym tę) i port 80 został zwolniony.
Mark Lakata,
+1, ale muszę uruchomić SSRS, więc myślę, że idąc dalej muszę powiedzieć SSRS, aby używał innego portu?
Chris Moutray
„Nie korzystasz z tego portu? Wezmę to! Och, przepraszam, że tego potrzebowałeś? Nie dostałeś notatki?”
batCattle
1
@AssafLevy twój komentarz jest niekorzystny dla ludzi i zachmurza rzeczy i może sprawić, że niektórzy pomyślą, że odpowiedź nie jest tak dobra, jak jest. To nie jest SQL Server, to raportowanie SQL Server. Serwer SQL działa na 3306. Problemem jest raportowanie na serwerze SQL, które działa na porcie 80
barlop
19

Możesz tymczasowo zatrzymać usługę HTTP z wiersza poleceń:

  1. Uruchom wiersz polecenia administratora (np. Start, wyszukaj cmd, kliknij go prawym przyciskiem myszy, wybierz „Uruchom jako administrator”, zatwierdź monit UAC, jeśli istnieje).
  2. Rodzaj net stop HTTP
  3. Jeśli istnieją inne działające usługi, które zależą od usługi HTTP, otrzymasz listę; sprawdź dwukrotnie, czy jest tam coś, na co nie możesz sobie pozwolić. Lub, jeśli chwilowo zatrzymujesz HTTP, aby tymczasowo korzystać z portu 80, zanotuj te usługi zależne, które chcesz ponownie uruchomić po zakończeniu pracy z portem. Tak czy inaczej, jeśli jest w porządku, wejdź, yaby kontynuować.
  4. Niektóre usługi zależne mogą wyświetlać ostrzeżenia o zatrzymaniu, które anulują operację; po prostu powtarzaj, net stop HTTPaż się zatrzyma (tzn. dopóki nie powie The HTTP service was stopped successfully.)
  5. Później możesz zrestartować dowolne usługi zależne, używając net startlub korzystając z elementu Usługi w Narzędziach administracyjnych, a usługa HTTP zostanie ponownie uruchomiona automatycznie.
Rakslice
źródło
1
Jest to bardzo pomocne w określeniu usług zależnych - dzięki!
Rory,
to było dla mnie rozwiązanie!
Girardi
Dla mnie zatrzymał wszystkie powiązane usługi, a następnie powiedział „Nie można zatrzymać usługi HTTP”, a net stop httpponowne uruchomienie każe mi „spróbować ponownie później”. Co jest nie tak z moim systemem :-)
Tominator
Korzystanie net stop HTTPdziałało dla mnie.
Paul Williams
Jeśli otrzymujesz try again later message, być może korzystasz z usługi Microsoft Web Deployment Service. support.microsoft.com/kb/2597817 Jeśli faktycznie używasz tego do obsługi IIS, prawdopodobnie nie chciałeś przede wszystkim zatrzymywać HTTP =).
rakslice
3

telnet localhost 80 zwraca HttpAPI / 2.0, co z kolei oznacza „usługę raportowania serwera Sql”. Zatrzymanie tego samego powoduje zwolnienie portu 80.

Visnu
źródło
Stwierdziłem, że winowajcą były również usługi raportowania serwera SQL.
JT
Jest to przydatne narzędzie do debugowania, które pozwala użyć „telnet”, aby uzyskać więcej informacji niż daje przeglądarka internetowa. Dzięki. W moim przypadku winowajcą były również usługi raportowania serwera SQL.
Mark Lakata,
0

Weź ProcessExplorer, uruchom go, otwórz właściwości TCP / IP każdego procesu (usługi), znajdź proces (usługę) nasłuchujący na porcie http (80) i wyłącz go.

Odkryłem, że serwer Autodesk EDM nasłuchuje na porcie http (80).

NICEsCREAM
źródło
3
Nie działa to w przypadku usług działających w systemie (tj. Z PID równym 4)
N Reed
Myślę, że lepiej jest robić „netstat -anbo”. Powie ci wprost, co jest na porcie 80 ... z wyjątkiem PID 4.
Mark Lakata