Wie kann ich meinen Port 80 unter localhost Windows freigeben?

124

Ich habe XAMPP 1.6.8 installiert und aus irgendeinem Grund hat es nicht funktioniert. Später realisierter Port 80 ist nicht frei oder hört nicht zu. Wie kann ich es veröffentlichen oder kostenlos machen?

Vielen Dank!

informatik01
quelle
Ich glaube, dies ist eine doppelte Frage von (bitte finden Sie dort eine Antwort) -> stackoverflow.com/questions/1430141/…
Dung
Duplizieren oder nicht. Dies wird zuerst bei Google getroffen .
Bitterblue

Antworten:

113

Diese Qual wurde für mich gelöst. Ich fand heraus, dass das, was Port 80 übernahm, der http-API-Dienst ist. Ich schrieb in cmd:

net stop http

Fragte mich "Die folgenden Dienste werden eingestellt, möchten Sie fortfahren?" Y gedrückt

Es hat tatsächlich eine Reihe von Diensten gestoppt.

Dann schrieb localhostund wallah, Apache ist auf Port 80 in Betrieb. Ich hoffe,
das hilft

Wichtig : Skype verwendet standardmäßig Port 80. Sie können dies unter Skype-Optionen> Erweitert> Verbindung ändern und das Kontrollkästchen "Port 80 verwenden" deaktivieren.

MuhFred
quelle
Unter Windows 7 konnte ich die Prozesse aufgrund von "Zugriff verweigert" nicht stoppen, aber es wurden mir die Namen der Prozesse angezeigt, die beendet würden, wenn ich die Rechte hätte (ich hatte keine Rechte für netstat -a -b).
Pavel V.
1
@ PavelV. Sie sollten die Eingabeaufforderung mit Administratorrechten ausführen. Öffnen Sie Start und schreiben Sie in die Suche "cmd". Klicken Sie mit der rechten Maustaste auf cmd und wählen Sie Als Administrator ausführen.
MuhFred
67

netstat -ano

Daraufhin wird die PID des Prozesses angezeigt, der Port 80 überwacht. Öffnen Sie anschließend die Registerkarte Task-Manager -> Prozesse. View -> Select ColumnsAktivieren Sie im Menü die PIDSpalte, und Sie sehen den Namen des Prozesses, der Port 80 überwacht.

Francisco
quelle
1
Dies ist gut, da es andere Prozesse mit demselben Namen geben kann. Ich frage mich, ob es in Windows einen Kill-Befehl gibt, den ich für die gefundene PID ausführen kann, anstatt ihn über den Task-Manager auszuführen.
Sundeep
Taskkill beendet die Aufgabe nicht. Es wird immer noch Port 80 angezeigt. @ Jijo
Aakash Thakur
1
Können Sie versuchen, / f / t am Ende zu verwenden, wird es die Aufgabe gewaltsam beenden, ich bin derzeit auf einem Linux-System, nicht verifiziert
Jijo
41

netstat -a -b

Sollte Ihnen sagen, welches Programm an Port 80 gebunden ist

Chad Grant
quelle
1
Es gab mir nur Bytes, Unicast usw. usw. gab nicht an, was an Port 80 gebunden ist. Habe ich etwas verpasst?
6
ntoskrnl.exe - was nun?
Tim Lovell-Smith
1
Ich habe dies versucht und es stand "die angeforderte Operation erfordert eine Erhöhung"
createscape
Du bist Gott! Auf diese Weise konnte ich den tatsächlichen Dienstnamen finden, der dieselbe Prozess-ID wie andere hatte, und konnte daher vor dem eigentlichen Dienst, der vom Task-Manager beendet werden sollte, nicht herausfinden. Wirklich danke!
divy3993
36

Ich hatte dieses Problem zuvor,

Wenn Sie den Task-Manager sehen (nachdem Sie die Ansicht für PID aktiviert haben), werden Sie feststellen, dass PID = 4 "Port 80 wird von NT Kernel & System verwendet;"

Geh einfach zu

  1. Schalttafel
  2. Programme
  3. Schalten Sie die Windows-Funktionen ein / aus
  4. Überprüfen Sie, ob das World wide web servicesUnter IISaktiviert ist

Wenn ja, deaktivieren Sie und netstat (oder TCPVIEW) erneut, um festzustellen, ob 80 frei ist.

Eswar Rajesh Pinapala
quelle
2
Win7: Beim Startmenü, das nach "IIS" sucht, wird der "IIS-Manager" aufgerufen, in dem Sie den Server deaktivieren können.
Philipp
34

Verwenden Sie netstat -bano in einer Eingabeaufforderung mit erhöhten Rechten, um zu sehen, welche Apps welche Ports überwachen .

In der Regel wird in folgenden Anwendungen Port 80 in Windows verwendet.

  1. IIS
  2. World Wide Web Publishing-Dienst
  3. IIS-Verwaltungsdienst
  4. SQL Server-Berichtsdienste
  5. Web Deployment Agent-Dienst

Stoppen Sie die obigen Anwendungen, wenn sie ausgeführt werden, und überprüfen Sie sie !!!

Rushik Parikh
quelle
Wissen Sie auf irgendeine Weise, wie Sie sicherstellen können, dass diese Dienste Port 80 nicht verwenden?
Rahoolm
18

Verwenden Sie TcpView , um den Prozess zu finden, der den Port abhört, und schließen Sie den Prozess.

MMind
quelle
oder Sie können findstar in einer Batch - Datei verwenden windowstechinfo.com/2015/05/...
Aravinda
6

Sie können auch versuchen, SQL Server Reporting Services zu beenden.

Kinjal Dixit
quelle
danke, für mich war es SQL Server Reporting Services (MSSQLSERVER) weiß nicht warum, aber wenn ich es über die Servicekonsole beende, verarbeite mit PID 4 ungebunden von 0.0.0.0:80
Vladimir Shmidt
6

Sie können net stop httpes verwenden, um anzuzeigen, welcher Prozess verwendet wird. Moslty World Wide Web Services nutzen

Warwicky
quelle
6

Versuchen

netstat -anb -p tcp

die Ports und Prozesse zeigen

MBaas
quelle
Mein xampp-Anwendungsstatus zeigt sowohl den Apache- als auch den MySQL-Status an. 1 Start 1 Dienst 1 Der Browser zeigt den lokalen Host jedoch immer noch nicht an. warum so? irgendwelche Hinweise? :(
5

Dies ist nur eine Vermutung, aber da Port 80 der herkömmliche Port für HTTP ist, wird möglicherweise ein Webserver auf Ihrem System ausgeführt. Ist IIS aktiv?

Wenn Sie IIS ausführen, wird möglicherweise der Webfarmdienst ausgeführt. Das war es, was meine xampp tötete.

Thomas L Holaday
quelle
1
Nein, ich habe keinen IIS. Ich habe vorher xampp benutzt und es hatte funktioniert. Ich vermute, ein anderer Dienst befindet sich auf Port 80 und erlaubt keine Neuinstallation des Apache-Dienstes darauf.
2
Skype stiehlt auch gerne Port 80, einen häufigen unerwarteten Schuldigen!
Simon_Weaver
5

Geben Sie "netstat -ano" in Ihre Befehlszeile ein. Ich habe gesehen, dass etwas für den lokalen Adressport 0.0.0.0:80 angezeigt wird.

Mein Problem war, dass ich SQL Server Reporting Services auf Port 80 hatte. Also habe ich diese Anweisungen befolgt und die Portnummer von 80 auf 81 geändert:

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

Hier ist ein Bild meiner Befehlszeile, nachdem ich die Portnummer für SQL Server Reporting Services geändert habe:

Geben Sie hier die Bildbeschreibung ein

Wenn Sie immer noch das gleiche Problem haben, lesen Sie dieses Forum:

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

Gen
quelle
4

Skype verwendet gerne Port 80 und blockiert IIS. Das war mein Problem.

Marcelo Mason
quelle
4

Ich hatte auch das gleiche Problem. net stop httphat nicht geholfen und die Option für World Wide Web Services unter IIS in der Windows-Systemsteuerung wurde deaktiviert. Also habe ich in der XAMPP-Systemsteuerung das Kontrollkästchen Svc neben der Apache-Startschaltfläche (Apache als Dienst installieren) aktiviert und Windows neu gestartet. Und jetzt wird Apache jedes Mal, wenn Windows gestartet wird, automatisch gestartet und belegt Port 80, bevor ein anderer Dienst dies tut. Hat für mich gearbeitet!

user2513149
quelle
2

Bekannte Windows-Dienste, die Port 80 abhören

Stoppen und deaktivieren Sie im Services Manager (run: services.msc) diese Windows-Dienste, von denen bekannt ist, dass sie an Port 80 gebunden sind.

Doppelklicken Sie auf "Dienst" und ändern Sie "Starttyp" in "Deaktiviert".

  1. SQL Server Reporting Services (ReportServer)
  2. Web Deployment Agent-Dienst (MsDepSvc)
  3. BranchCache (PeerDistSvc)
  4. Sync Share Service (SyncShareSvc)
  5. World Wide Web Publishing Service (W3SVC)
  6. Internetinformationsserver (WAS, IISADMIN)

Skype verwendet auch Port 80 als Standardeinstellung und Sie können es deaktivieren.

Möglicherweise sind einige dieser Dienste installiert und werden nicht ausgeführt.

In meinem Fall öffnete "SQL Server Reporting Services" Port 80.

user3600935
quelle
0

Für mich begann dieses Problem, als ich eine VPN-Verbindung auf meinem Windows 8-Computer hostete.

Durch einfaches Löschen der Verbindung aus "Systemsteuerung \ Netzwerk und Internet \ Netzwerkverbindungen" wurde das Problem behoben.

Zar
quelle
0

Ich habe versucht, nginxvon hier aus zu installieren - http://nginx.org/en/docs/windows.html

Wenn Sie zu http: // localhost / gehen, wird etwas
angezeigt, zumindest eine korrekte Meldung "Nicht gefunden". Dies liegt daran, dass 80 der Standardport ist und von anderen Prozessen verwendet wurde.

Führen Sie nun den folgenden Befehl aus:

net stop http

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

Wenn Sie jetzt zu http: // localhost / gehen, schlägt die Meldung der defekten Linkseite fehl.

Hauptprozess war BranchCache
Dieser Prozess wird nach dem Stoppen in wenigen Sekunden neu gestartet.
Wir müssen also bald andere Befehle ausführen, ein Beispiel unten:

// this will stop
net stop http

// immeidately run other command you want to
start nginx

Gehen Sie jetzt zu http: // localhost / gab mir:

Welcome to nginx!

Hoffentlich hilft das.

Manohar Reddy Poreddy
quelle
-1

In meinem Fall besteht das Fenster darin, den Web Deployment Agent Service zu stoppen. Geben Sie cmd ein

 net stop msdepsvc 
Gogog
quelle