Jak zwolnić port 80 w systemie Windows z lokalnym hostem?

124

Zainstalowałem XAMPP 1.6.8 iz jakiegoś powodu nie zadziałało. Później okazało się, że port 80 nie jest wolny lub nie nasłuchuje. Jak mogę go zwolnić lub uczynić go wolnym?

Wielkie dzięki!

informatik01
źródło
Wydaje mi się, że jest to zduplikowane pytanie (proszę tam znaleźć odpowiedź) -> stackoverflow.com/questions/1430141/…
Dung
Duplikat czy nie. To pierwsze trafienie w Google .
Bitterblue

Odpowiedzi:

113

Ta agonia została dla mnie rozwiązana. Dowiedziałem się, że to, co przejmuje port 80, to usługa http api. Napisałem w cmd:

net stop http

Zapytano mnie „Następujące usługi zostaną zatrzymane, czy chcesz kontynuować?” Wciśnięty y

W rzeczywistości zatrzymało to wiele usług.

Potem napisał localhosti Professor, Apache działa na porcie 80.
Mam nadzieję, że to pomoże

Ważne : Skype domyślnie używa portu 80, możesz to zmienić w opcjach skype> zaawansowane> połączenie - i usuń zaznaczenie opcji „użyj portu 80”

MuhFred
źródło
W systemie Windows 7 nie mogłem zatrzymać procesów z powodu „odmowy dostępu”, ale pokazał mi nazwy procesów, które zostałyby zabite, gdybym miał prawa (nie miałem uprawnień do netstat -a -b).
Pavel V.
1
@PavelV. powinieneś uruchomić wiersz poleceń z uprawnieniami administratora. otwórz start i wpisz „cmd”, kliknij prawym przyciskiem myszy cmd i wybierz Uruchom jako administrator.
MuhFred,
67

netstat -ano

To pokaże Ci PID procesu, który nasłuchuje na porcie 80. Następnie otwórz Menedżera zadań -> zakładka Procesy. Z View -> Select Columnsmenu włącz PIDkolumnę, a zobaczysz nazwę procesu nasłuchującego na porcie 80.

Francisco
źródło
1
Jest to dobre, ponieważ mogą istnieć inne procesy o tej samej nazwie. Zastanawiam się, czy w systemie Windows jest jakieś polecenie zabicia, które mogę uruchomić przeciwko znalezionemu PID zamiast robić to przez menedżera zadań.
Niedziela,
taskkill nie zabija zadania. Nadal pokazuje uruchomiony port 80. @Jijo
Aakash Thakur
1
czy możesz spróbować użyć / f / t na końcu, to na siłę zabije zadanie, jestem obecnie na systemie Linux, niezweryfikowany
Jijo
41

netstat -a -b

Powinien powiedzieć, który program jest powiązany z portem 80

Chad Grant
źródło
1
po prostu dał mi bajty, unicast itp. itp. nie dał tego, co jest związane z portem 80. Czy coś przegapiłem?
6
ntoskrnl.exe - co teraz?
Tim Lovell-Smith
1
Wypróbowałem to i okazało się, że „żądana operacja wymaga podniesienia uprawnień”
createdcape
Jesteś Bogiem! Pochylając się , dzięki temu mogłem znaleźć rzeczywistą nazwę usługi, która miała taki sam identyfikator procesu, jak inne, więc nie mogłem dowiedzieć się przed faktyczną usługą do zabicia z menedżera zadań. Naprawdę dzięki!
divy3993
36

Miałem ten problem wcześniej,

jeśli zobaczysz Menedżera zadań (po włączeniu widoku dla PID), zobaczysz, że PID = 4 to „port 80 używany przez jądro NT & System;”

Po prostu idź do

  1. Panel sterowania
  2. Programy
  3. Włącz / wyłącz funkcje systemu Windows
  4. sprawdź, czy World wide web servicesponiżej IISjest zaznaczone

Jeśli tak, odznacz i ponownie netstat (lub TCPVIEW), aby sprawdzić, czy 80 jest wolne.

Eswar Rajesh Pinapala
źródło
2
Win7: wyszukiwanie w menu startowym „IIS” powoduje wyświetlenie „Menedżera IIS”, w którym można wyłączyć serwer.
Philipp
34

użyj netstat -bano w wierszu polecenia z podwyższonym poziomem uprawnień, aby zobaczyć, jakie aplikacje nasłuchują na których portach.

Ale zazwyczaj następujące aplikacje używają portu 80 w systemie Windows.

  1. IIS
  2. Usługa publikowania w sieci World Wide Web
  3. Usługa administracyjna usług IIS
  4. Usługi raportowania programu SQL Server
  5. Usługa agenta wdrażania w sieci Web

Zatrzymaj powyższe aplikacje, jeśli są uruchomione i sprawdź !!!

Rushik Parikh
źródło
Czy wiesz w jakikolwiek sposób, jak upewnić się, że te usługi nie używają portu 80?
rahoolm
6

Inną możliwością wypróbowania jest zatrzymanie usług SQL Server Reporting Services.

Kinjal Dixit
źródło
dzięki, dla mnie to SQL Server Reporting Services (MSSQLSERVER) nie wiem dlaczego, ale kiedy kończę go przez konsolę usług, proces z pid 4 unbinded od 0.0.0.0:80
Vladimir Shmidt
6

Możesz go użyć net stop http, aby wyświetlić używany proces. Używają usług internetowych Moslty

Warwicky
źródło
6

Próbować

netstat -anb -p tcp

które pokazują porty i procesy

MBaas
źródło
Status mojej aplikacji xampp pokazuje zarówno stan Apache, jak i mysql 1 start 1 service 1 Ale przeglądarka nadal nie pokazuje lokalnego hosta. dlaczego tak? jakieś wskazówki? :(
5

To tylko przypuszczenie, ale ponieważ port 80 jest konwencjonalnym portem dla HTTP, możesz mieć serwer WWW działający w systemie. Czy usługi IIS są aktywne?

Jeśli korzystasz z usług IIS, możesz mieć uruchomioną usługę farmy sieci Web. To właśnie zabijało mojego xamppa.

Thomas L Holaday
źródło
1
Nie, nie mam usług IIS. Wcześniej używałem xampp i zadziałało. Wydaje mi się, że jakaś inna usługa siedzi na porcie 80 i nie pozwala na ponowną instalację usługi Apache na nim.
2
Skype lubi również kraść port 80, częsty nieoczekiwany winowajca!
Simon_Weaver,
5

Wpisz „netstat -ano” w wierszu poleceń. Widziałem, że pokazuje coś dla portu adresu lokalnego 0.0.0.0:80.

Mój problem wynikał z tego, że miałem usługi SQL Server Reporting Services na porcie 80. Postępowałem więc zgodnie z tymi instrukcjami i zmieniłem numer portu z 80 na 81:

http://seankilleen.com/2012/11/how-to-stop-sql-server-reporting-services-from-using-port-80-on-your-server-field-notes/

Oto zdjęcie mojego wiersza poleceń PO zmianie numeru portu dla usług SQL Server Reporting Services:

wprowadź opis obrazu tutaj

Jeśli nadal masz ten sam problem, przeczytaj to forum:

http://forum.wampserver.com/read.php?2,66196,66233#REPLY

Gen
źródło
4

Skype lubi używać portu 80 i blokuje usługi IIS. To był mój problem.

Marcelo Mason
źródło
4

Ja też miałem ten sam problem. net stop httpnie pomogło, a opcja World Wide Web Services w obszarze IIS w Panelu sterowania systemu Windows nie była zaznaczona. W panelu sterowania XAMPP właśnie zaznaczyłem pole wyboru Svc w pobliżu przycisku startowego Apache (Zainstaluj Apache jako usługę) i ponownie uruchomiłem system Windows. A teraz za każdym razem, gdy Windows uruchamia się, Apache jest uruchamiany automatycznie i zajmuje port 80 przed jakąkolwiek inną usługą. Pracował dla mnie!

user2513149
źródło
2

Znane usługi systemu Windows, które nasłuchują na porcie 80

W Menedżerze usług (uruchom: services.msc) zatrzymaj i wyłącz te usługi systemu Windows, o których wiadomo, że wiążą się z portem 80.

Kliknij dwukrotnie usługę i zmień „Typ uruchomienia” na „Wyłączony”…

  1. Usługi SQL Server Reporting Services (ReportServer)
  2. Usługa agenta wdrażania w sieci Web (MsDepSvc)
  3. BranchCache (PeerDistSvc)
  4. Usługa synchronizacji udostępniania (SyncShareSvc)
  5. Usługa publikowania w sieci World Wide Web (W3SVC)
  6. Internetowy serwer informacyjny (WAS, IISADMIN)

skype również używa portu 80 jako ustawienia domyślnego i możesz go odznaczyć.

Niektóre z tych Usług mogą być zainstalowane i uruchomione lub nie.

W moim przypadku „SQL Server Reporting Services” otwierało port 80.

user3600935
źródło
0

Dla mnie ten problem zaczął się, gdy hostowałem połączenie VPN na moim komputerze z systemem Windows 8.

Samo usunięcie połączenia z „Panel sterowania \ Sieć i Internet \ Połączenia sieciowe” rozwiązało problem.

Zar
źródło
0

Próbowałem zainstalować nginxstąd - http://nginx.org/en/docs/windows.html

Przejście do http: // localhost / pokaże coś, przynajmniej poprawną wiadomość „nie znaleziono”
Dzieje się tak, ponieważ port 80 jest domyślnym portem i został przejęty przez inne procesy.

Teraz uruchom poniższe polecenie:

net stop http

    // Above command stopped below services  
    // - SSDP Discovery  
    // - Print Spooler  
    // - BranchCache  
    // - Function Discovery Resource Publication  
    // - Function Discovery Provider Host  

Teraz przechodzę do http: // localhost / zakończy się niepowodzeniem i wyświetleniem komunikatu o zepsutym łączu.

Głównym procesem był BranchCache
Ten proces, po zatrzymaniu, zostanie uruchomiony ponownie za kilka sekund.
Musimy więc wkrótce uruchomić inne polecenia, których potrzebujemy, przykład poniżej:

// this will stop
net stop http

// immeidately run other command you want to
start nginx

Teraz przechodząc do http: // localhost / dał mi:

Welcome to nginx!

Mam nadzieję, że to pomoże.

Manohar Reddy Poreddy
źródło
-1

w moim przypadku okno i jest do zatrzymania usługi Web Deployment Agent. Wpisz cmd

 net stop msdepsvc 
gogog
źródło