Apache Server (xampp) läuft nicht unter Windows 10 (Port 80)

84

Ich habe das Windows 10 Insider-Programm installiert. Alles funktioniert, außer Apache. Wenn ich versuche, es zu starten, heißt es, dass Port 80 blockiert ist. Gibt es eine Möglichkeit, die Blockierung aufzuheben oder Apache anzuweisen, stattdessen einen anderen Port zu verwenden?

Ich habe vorher Windows 7 verwendet. Ich hatte Probleme mit Port 80 mit Skype, aber ich habe es deaktiviert.

Aloso
quelle
Die PID ist 4. Der Prozess ist System (NT Kernel & System)
Aloso
Hüten Sie sich vor der Marke Ihres Computers: Sie haben festgestellt, dass mein Computer über einen benutzerdefinierten Dienst verfügt, der den Port blockiert. Ich musste alle Dienste einzeln deaktivieren, um das endlich herauszufinden ...
Jean-François Savard
Ändern Sie IIS PORT: stackoverflow.com/questions/19312136/…
Suresh Kamrushi

Antworten:

206

Ich hatte das gleiche Problem unter Windows 10, IIS / 10.0 verwendete Port 80

Um das zu lösen:

  • Service finden "W3SVC"
  • deaktiviere es oder setze es auf "manuell"

Der französische Name lautet: " Service de Publikation World Wide Web "

Der englische Name lautet: " World Wide Web Publishing Service "

Der deutsche Name lautet: "WWW-Publishingdienst" - danke @fiffy

Der polnische Name lautet: "Usługa publikowania w sieci WWW" - danke @KrzysDan

Der russische Name ist "Служба веб-публикаций" - danke @Kreozot

Der italienische Name ist "Servizio Pubblicazione sul Web" - danke @ Claudio-Venturini

Español heißt "Servicio de publicación World Wide Web" - danke @ Daniel-Santarriaga

Der portugiesische (brasilianische) Name lautet "Serviço de publicação da World Wide Web" - danke @ thiago-born


Alternativen:


Bearbeiten 07. Oktober 2015: Weitere Informationen finden Sie in der Antwort von Matthew Stumphy. Apache Server (xampp) läuft nicht unter Windows 10 (Port 80).

Paaacman
quelle
2
Genial ... Es ist ein Problem mit Windows 10 standardmäßig
user3658423
3
Der Dienst kann beim Start durch Öffnen Administrative Toolsund Auswählen deaktiviert werden Services. Ein Fenster mit dem Titel Dienste wird angezeigt. Dann suchen World Wide Web Publishing Services, mit der rechten Maustaste klicken und auswählen Properties. Wechseln Sie Startup Typezu Manualund klicken Sie aufApply
zgr024
3
Andere können den Anzeigenamen finden, indem siesc getdisplayname W3SVC
Honza Kuchař
Gibt es überhaupt einen Grund für W3SVC, auf einem normalen Computer zu laufen, der sich nicht wie ein Webserver verhält?
DaedalusAlpha
Wäre es nicht besser, den World Wide Web Publishing Service aus der Liste der installierten Windows-Komponenten zu entfernen? In diesem Fall muss der Dienst nicht deaktiviert werden, da er nicht mehr installiert werden sollte.
Arnoud Sietsema
31

Diese Antwort ist als Ergänzung zur am höchsten bewerteten Antwort auf diesen Thread von paaacman gedacht. Ich wollte nur einige hilfreiche Details für Benutzer wie mich hinzufügen, die sich mit Windows 10 nicht auskennen.

Windows 10 führt IIS (Internet Information Services, Microsofts Webserver-Software) beim Start auf Port 80 automatisch aus. Um Apache Server auf diesem Port verwenden zu können, muss IIS gestoppt werden.

Die Antwort von paaacman bezieht sich auf den IIS-Server als "W3SVC" oder "World Wide Web Publishing Service". Ich nehme an, das liegt daran, dass Windows 10 IIS als Dienst ausführt. Um es zu deaktivieren oder die Ausführung des Dienstes zu ändern, müssen Sie wissen, wo sich "Dienste" in Ihrem System befinden.

Ich fand es am einfachsten, auf die Suchschaltfläche neben der Startmenüschaltfläche in der Windows 10-Taskleiste zu klicken und "Verwaltung" einzugeben . Sie können entweder die Eingabetaste drücken oder auf den Link "Verwaltung" klicken, den Windows für Sie findet.

Ein Bedienfeldfenster mit einer Liste von Werkzeugen wird geöffnet. Das, was Sie wollen, ist " Services ". Doppelklicken Sie darauf.

Ein weiteres Fenster mit dem Namen "Dienste" wird geöffnet. Suchen Sie den mit dem Namen " World Wide Web Publishing Service ". Einige andere Benutzer in diesem Thread haben aufgelistet, wie es in anderen Sprachen heißt, wenn Ihre Liste nicht in Englisch ist.

Wenn Sie den IIS-Server nur für diese Windows-Sitzung deaktivieren möchten, ihn aber beim nächsten Start von Windows automatisch wieder ausführen möchten, klicken Sie mit der rechten Maustaste auf "World Wide Web Publishing Service" und wählen Sie " Stop ". Der Server wird angehalten und Port 80 wird für Apache freigegeben (oder für was auch immer Sie ihn verwenden möchten).

Wenn Sie verhindern möchten, dass der IIS-Server beim zukünftigen Start von Windows automatisch ausgeführt wird, klicken Sie mit der rechten Maustaste auf "World Wide Web Publishing Serivce" und wählen Sie " Eigenschaften ". Suchen Sie im angezeigten Fenster die Dropdown-Liste "Starttyp" und stellen Sie sie auf "Manuell" ein. Klicken Sie auf "Übernehmen" oder "OK", um Ihre Änderungen zu speichern. Sie sollten fertig sein.

Matthew Stumphy
quelle
15

Unter Windows 10 läuft IIS standardmäßig auf Port 80, der geändert werden kann:

Führen Sie appwiz.cpl use aus Turn Windows features on or offund installieren Sie die IIS Manager-Konsole.

Aktivieren oder deaktivieren Sie Windows-Funktionen -> Internetinformationsdienste -> Webverwaltungstools -> IIS-Verwaltungskonsole

Führen Sie aus InetMgr.exeund gehen Sie zu "Verbindungen -> Websites" und öffnen Sie mit der rechten Maustaste das Kontextmenü des Standardeintrags "Standardwebsite". Wählen Sie im Kontextmenü "Bindungen", um die Serveradresse und die Portkonfiguration zu öffnen.

"Verbindungen -> Websites" -> "Standard-Website-Bindungen"

Serveradresse und Portkonfiguration

Chaning Standardport auf 8080

https://technet.microsoft.com/library/hh831681.aspx#Site_Bingings

Tobias Hochgürtel
quelle
13

Ich hatte genau das gleiche Problem und löste es, indem ich den folgenden Befehl über die Befehlszeile als Administrator ausführte:

1) Beenden Sie den Dienst zunächst mit den folgenden Schritten

net stop http / y

2) Deaktivieren Sie dann den Start (optional)

sc config http start = deaktiviert

Jan Naj
quelle
Dies ist der einfachste Weg, um den Port 80 freizugeben. Ich verwende dies für eine Vagabundmaschine.
Mārtiņš Briedis
9

Geben Sie die Befehlszeile ein

netstat -aon | findstr :80

Sie sehen die PID des Prozesses, der Port 80 verwendet. Versuchen Sie dann, diese App für die Verwendung eines anderen Ports zu konfigurieren, oder beenden Sie sie einfach

UPDATE: Ich schreibe meinen Kommentar hier, um es klarer zu machen: Laut diesem Link belegt in Windows 10 der MsDepSvc-Dienst Port 80. Er ist für IIS oder Web Matrix 2. Wenn Sie IIS oder Web Matrix nicht verwenden 2 Für jede Webentwicklung können Sie versuchen, den Dienst herunterzufahren

Und für den zweiten Teil Ihrer Frage können Sie Apache anweisen, einen anderen Port zu verwenden, indem Sie [Apache-Ordner] /conf/httpd.conf bearbeiten. Es hat "Listen 80" Zeichenfolge. Ändern Sie 80 in einen beliebigen freien Port und laden Sie Apache neu

Sergey Maksimenko
quelle
Es ist das System. Ich kann das nicht töten, oder?
Aloso
Nach dem schnellen Googeln finde ich diesen Link nextofwindows.com/… . "... Sie haben diese Dienste MsDepSvc im Hintergrund ausgeführt, der Port 80 belegt. Eine schnelle Lösung wäre, den Dienst zu beenden, wenn Sie nicht vorhaben, IIS oder Web Matrix 2 für eine Webentwicklung zu verwenden. Und starten Sie die Dienste Wenn es nötig ist, hoffen Sie, dass dies einige Rätsel löst, die Sie möglicherweise haben, wenn Sie zwischen der Verwendung von Web Matrix und der traditionellen Apache-Entwicklung wechseln. "
Sergey Maksimenko
Es tut mir leid, aber ich habe diesen Prozess nicht.
Aloso
8

Möglicherweise müssen Sie auch SQL Server Reporting Services beenden.

bjorkblom
quelle
5

In meinem Fall benötige ich sowohl XAMPP für die Apache-Entwicklung als auch IIS Express für die .Net 2013-Entwicklung. Also mache ich folgendes:

  1. In der Eingabeaufforderung mit der Eingabe services.msc wird "Windows Services" geladen, wo ich "World Wide Web Publishing Service" gefunden und gestoppt habe. World Wide Web Publishing Service STOP

  2. Wenn ich die XAMPP-Systemsteuerung starte, klicken Sie auf "Config" und wählen Sie "Apache httpd.conf". Suchen Sie nach "80" und ändern Sie dies in "Listen 80" und "ServerName localhost: 80" in "8080". Speichern Sie die Datei unter "Speichern unter" und wählen Sie "Alle Dateien", um sie nicht als Text unter "Dateityp" zu speichern. Die "Codierung" sollte "UTF-8" sein. Apache httpd.conf

  3. Beenden Sie die XAMPP-Systemsteuerung, starten Sie sie erneut und starten Sie unter "Aktion" Apache & MySQL. Jetzt sehen Sie, dass der Port geändert wurde. Wie Sie jetzt wissen, müssen Sie mit "localhost: 8080" anstelle von "localhost" zu Ihrem Apache-Server gelangen. Außerdem laufen sowohl Apache als auch IIS Express auf demselben Windows 10-PC.

Ich habe einen Beitrag gelesen, in dem der Autor vorgeschlagen hat, Port "9080" zu verwenden, aber er hat bei mir nicht funktioniert.

Alhaythum
quelle
3

Das Problem tritt immer dann auf, wenn ein Prozess Port 80 verwendet.

Sie können Netstat ausführen, das in der XAMPP-Systemsteuerung verfügbar ist, und überprüfen, welcher Prozess Port 80 in Ihrem System verwendet.

Für mich war es nicht IIS , sondern Skype .

Schalten Sie diesen Prozess / diese Anwendung aus und starten Sie dann die Apache-Dienste.

Armsdev
quelle
Dies scheint nur ein Duplikat einer Reihe der vorherigen Antworten zu sein. Vielleicht ist es besser, nur als Kommentar, dass Skype der Problemprozess für Sie war.
Blm
"Es war Skype" klingt für mich nach einer Antwort! Es war vielleicht nicht die Antwort, die es für OP gelöst hat, aber es war für mich, und ich bin dankbar, dass es eine Antwort und kein Kommentar war, oder ich habe es vielleicht nicht gesehen.
Arichards
1

Ich weiß, dass dieses Problem möglicherweise behoben wurde, aber ich hatte das gleiche Problem mit einer anderen Lösung. Dafür werde ich eine andere mögliche Lösung erklären. In meinem Fall war der Port 80 von Skype belegt (pid: 25252) und ich wusste nicht, welches Programm es war.

Um die PID des Programms zu sehen, die den Port 80 verwendet, können Sie den Befehl verwenden, den andere zuvor gesagt haben:

netstat -aon | findstr 0.0:80

Um den Prozess mit der PID abzubrechen (falls Sie das Programm nicht kennen), müssen Sie das CMD mit Administratorberechtigung öffnen und den nächsten Befehl verwenden:

taskkill /pid 25252

Weitere Optionen mit diesem Befehl finden Sie hier .

CGG
quelle
Dies ist nicht das gleiche Problem, da Sie Port 80 in den Einstellungen von Skype deaktivieren können. Sie müssen Skype nicht töten!
Aloso
Du hast recht. Ich habe jetzt die Option gesehen. Als ich das Problem hatte, habe ich es nicht gesehen.
CGG
1

Ich weiß, dass dies möglicherweise nicht die Ursache für Ihr Problem ist, aber ich habe ein paar Stunden damit verbracht, meinen Kopf gegen die Wand zu schlagen, um dieses Problem zu lösen, und dies ist meine Lösung.

(unter Windows 10 x32)

Also hatte ich XAMPP in einem tief verschachtelten Verzeichnis installiert und alle conf-Dateien verweisen auf root \xampp\apache, während meine Dateien es warensome_dir\another_dir\whatthehelliswrongwithme\finally\xampp\apache

Meine Optionen waren also, entweder alle \xampp\apacheReferenzen durchzugehen und zu bearbeiten und sie an der richtigen Stelle zu platzieren, ODER die viel einfachere Option ... XAMPP im Stammverzeichnis neu zu installieren, damit alle Referenzen auf die richtige Stelle zeigen.

Ein bisschen nervig, aber ich denke, das bekommen wir, wenn Mac und Windows versuchen, Freunde zu sein.

Hoffe es hilft ein paar von euch.

Nathaniel Rogers
quelle
1

Ich denke, es ist einfach, Ihren Apache-Server-Port zu ändern

  1. Gehen Sie zu C: \ xampplite \ apache \ conf
  2. Öffnen Sie die httpd.conf- Dateien
  3. Suche nach Listen 80
  4. Ändern Sie 80 in eine andere wie 9080
  5. Versuchen Sie nun beim Neustart von XAMPP, den Server zu starten

NB Ich verwende die Serverversion: 5.1.41 mit Windows 10

reza.cse08
quelle
0

Das Herunterfahren eines "Systemprozesses" kann schwierig sein ... Sie sollten lieber den [Apache-Ordner] /conf/httpd.conf bearbeiten, wie von @Sergey Maksimenko erwähnt, und wenn Sie den virtuellen Host konfigurieren möchten, verwenden Sie den neuen Port in [Apache Ordner] /conf/extra/httpd-vhosts.conf (Ich habe 4900 anstelle von 80 und 4901 anstelle von 443 in [Apache-Ordner] /conf/httpd-ssl.conf verwendet). Denken Sie auch daran, den Port beim Zugriff auf die Seite auf localhost (oder Ihrem virtuellen Host) zu verwenden, z. B.: Localhost: 4900 / index.html

Jarda
quelle
0

Diese feste node.js läuft auch unter Windows 10 nicht auf Port 80, ich habe eine listen eaccesFehlermeldung erhalten. Starten Sie> Dienste, suchen Sie "World Wide Web Publish Service" und deaktivieren Sie ihn genau wie von paaacman beschrieben.

mischte
quelle
0

Ich hatte das gleiche Problem und keine der oben genannten Lösungen funktionierte für mich.

Apache verwendet beide Ports 80 und 443 (für HTTPS) und beide müssen bereit sein, damit Apache erfolgreich gestartet werden kann. Nur Port 80 reicht möglicherweise nicht aus.

In meinem Fall stellte ich fest, dass beim Ausführen von VMWare Workstation der Port 443 von der VMware-Freigabe verwendet wurde.

Sie müssen die Freigabe in den VMware-Haupteinstellungen deaktivieren oder den Port in diesem Abschnitt ändern.

Danach sollten Sie Apache oder NGinx unter XAMPP oder einer anderen Windows-Stack-Anwendung starten können, solange kein anderer Server an Port 80 angeschlossen ist (siehe oben stehende Lösungen).

Ich hoffe, dies wird anderen Benutzern helfen.

Marc Quattrini
quelle
0

Während viele den Ansatz verfolgen, IIS zu stoppen / zu deaktivieren, kann es hilfreich sein zu wissen, dass Sie einfach den XAMPP-Port ändern können, der hier beantwortet wurde . Dies ist der Weg, den ich nehmen musste, da ich beide laufen muss.

MackAltman
quelle
0

Neben dem ganz offensichtlichen Grund (IIS) gibt es einen weiteren Grund, der für dieses Problem häufig genug ist. Es lohnt sich, diese Frage und ihre Antwort hier zu zitieren:

http://stackoverflow.com/questions/22994888/why-skype-using-http-or-https-ports-80-and-443 

Wenn Sie Skype auf dem Computer installiert haben, überprüfen Sie dies ebenfalls. Die Lösung wird hier zitiert:

Um die Skype-Nutzung von Port 80 und Port 443 zu deaktivieren und zu deaktivieren, öffnen Sie das Skype-Fenster, klicken Sie auf das Menü Extras und wählen Sie Optionen. Klicken Sie auf die Registerkarte Erweitert und wechseln Sie zur Unterregisterkarte Verbindung. Deaktivieren oder deaktivieren Sie das Kontrollkästchen für die Option Port 80 und 443 als Alternative für eingehende Verbindungen verwenden. Klicken Sie auf die Schaltfläche Speichern und starten Sie Skype neu, damit die Änderung wirksam wird.

Erdmotor
quelle
Alle sagen, Skype ausschalten und deaktivieren, aber wie wirkt sich das auf Skype aus? Müssen wir Konfigurationseinstellungen in Skype ändern?
Luisdev
@luisdev Befolgen Sie einfach die im obigen Zitat beschriebenen Schritte. Hier erfahren Sie, wie Sie die Konfigurationseinstellungen in Skype ändern.
Earth Engine
Ok, ich weiß, wie man die Konfigurationseinstellungen in Skype ändert, aber welche Auswirkungen hat das Ändern der Skype-Einstellungen auf die Skype-Funktionalität? Beeinträchtigt es meine Fähigkeit, Anrufe über Skype zu tätigen oder zu empfangen? Wenn Skype die Ports 80 und 443 nicht mehr abhört, können mich dann noch Leute anrufen?
Luisdev
1
@luisdev Ich habe kein Problem beim Deaktivieren dieser Ports in Skype. Es scheint nur nützlich zu sein, wenn Sie sich hinter bestimmten Firewalls befinden. Wenn dies bei Ihnen nicht funktioniert, müssen Sie es wieder einschalten. Leider hat Skype dies falsch gemacht, da es ALLE Adressen und nicht nur AUSSEN Adressen abhört, sodass Sie nicht nur auf localhost hören können.
Earth Engine
-1

Öffnen Sie zunächst regedit und führen Sie es als Administrator aus. Siehe Bild. Öffnen Sie HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentCurrentControlSet \ Services \ HTTP. Öffnen Sie Start, ändern Sie den Wert von 3 in 4. Siehe Bild und starten Sie Ihren Computer neu

Viko
quelle