wake-up-neo.net

Site kann nicht gestartet werden IIS (Verwendung durch einen anderen Prozess)

Wenn ich versuche, eine Site in IIS zu starten, heißt es: 

der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird

Ich habe in Google gesucht und festgestellt, dass möglicherweise eine andere Site Port 80 verwendet hat. In MyIIS sehe ich jedoch, dass nur diese Site Port 80 verwendet. Was könnte sonst Port 80 verwenden oder gibt es ein anderes Problem?

91
user1729807

Überprüfen Sie mit netstat -aon oder netstat -aon | findstr 0.0:80 in einer Eingabeaufforderung, welche Prozess-ID LISTENING der Port: 80 ist, und achten Sie dann auf diese Prozess-ID (PID) in Task Manager mit view-> select columns- > Prozess-ID geprüft. Beenden Sie den Vorgang, starten Sie IIS neu, und Sie sind fertig. (Hinweis: Wenn Sie Skype installiert haben, beenden Sie diesen Prozess zuerst.)

In einem modernen Task-Manager müssen Sie auf der Registerkarte Details nach der PID suchen. Oder, wie in den Kommentaren von @Nikita G erwähnt, können Sie diesen Befehl verwenden, um die Aufgabe über die Eingabeaufforderung zu finden: 

tasklist /FI "PID eq 123"

Hinweis: 123 mit der vom ersten Befehl zurückgegebenen PID ändern.

172
Manoj Purohit

Dies geschieht, weil ein anderer Prozess den Port 80 verwendet. Möglicherweise handelt es sich dabei um eine Chat-Anwendung auf Ihrem PC wie Skype.

Ändern Sie zunächst den Standard-Website-Port, der 80 war, in einen nicht verwendeten Port (z. B. 8087). Um dies zu erreichen, klicken Sie mit der rechten Maustaste auf die Anwendung und anschließend auf 'Bindung bearbeiten'.

enter image description here

enter image description here

Starten Sie nach dieser Portänderung erneut einen Neustart. Nun können Sie feststellen, welcher Prozess den IIS Port 80 blockiert. Um dies zu überprüfen, verwenden Sie den Befehl netstat, der die Details des Ports zusammen mit der Prozess-ID anzeigt.

35
Ravindra Bagale

Melden Sie sich von Skype ab und versuchen Sie es erneut. Das gleiche Problem ist aufgetreten, und ich habe mich gerade von Skype abgemeldet und meinen IIS zurückgesetzt. Es hat für mich funktioniert.

25
Ovais Mumtaz

Sie können diesen Befehl auch ausführen, um herauszufinden, welche Anwendung oder welcher Dienst den Port verwendet, und verfolgen Sie ihn dann im Task-Manager (sofern dies nicht der Web Deploy Agent-Dienst ist).

netstat -o -n -a | findstr 0,0: 80

Öffnen Sie dann den Task-Manager, gehen Sie zu Prozesse, aktivieren Sie das Kontrollkästchen "Prozesse für alle Benutzer anzeigen". Klicken Sie dann auf das Menü Ansicht und gehen Sie zu den Spalten. Fügen Sie die Spalte PID hinzu.

Passen Sie die Prozess-ID aus dem Befehl netstat an die PID im Task-Manager an. Dort finden Sie den Dienst oder die Anwendung, die den Port verwendet.

9
Bikey

Wie andere bereits gesagt haben, wird möglicherweise Port 80 oder 443 verwendet. Es war VMWare Workstation Server für mich, aber überprüfen Sie die anderen Antworten zur Verwendung von netstat.

2
solublefish

Ich denke, dieser Link gibt eine ziemlich gute Erklärung und Lösung für dieses Problem http://support.Microsoft.com/KB/890015

Meistens; Dies liegt an einem der beiden Gründe: 1) Port 80 wird von etwas anderem verwendet. Wie von anderen vorgeschlagen, können Sie mit netstat -o -n -a | findstr 0.0: 80 überprüfen, ob dies der Fall ist. Wenn ja, beenden Sie den Prozess vom Task-Manager (markieren Sie Prozesse aller Benutzer anzeigen).

2) Wenn Port 80 nicht verwendet wird, ist die zweite Ursache möglicherweise eine ungültige IP-Adresse in der ListenOnlyList, die im Registrierungsschlüssel von HTTP-> Parameters gespeichert ist. Wenn Sie dem Link folgen, um den Schlüssel manuell festzulegen, oder tatsächlich, können Sie (xp und Server 2003) httpcfg delete iplisten -i ipaddress verwenden, um die ungültige IP-Adresse zu löschen. Sie müssen http neu starten, nachdem Sie die IP-Adresse bearbeitet haben!

1
stt106

In meinem Fall war es der " Sync Share Service " (SyncShareSvc), der ausgeführt wurde und den Port 80 verwendet Netstat zeigte 80 jedoch als frei an. Ich könnte die Site auf einem anderen Port ausführen lassen, aber nicht auf 80. Wenn ich einen Hostnamen hinzufügte, würde IIS mir erlauben, die Site zu starten, aber ich würde beim Navigieren zu localhost (oder beliebiger Hostname, den ich hinzugefügt habe). In IIS wurden nur Anonymous und Forms Auth aktiviert.

Ich stellte auch fest, dass http://localhost mich nach dem Stoppen von IIS immer noch zur Digest-Authentifizierung aufforderte.

In meinem Fall bestand die Lösung darin, Datei- und Speicherdienste> Dateien und iSCSI-Dienste> "Arbeitsordner" von den installierten Diensten zu entfernen (Neustart erforderlich).

Nach dem Entfernen des Dienstes "Arbeitsordner" und einem Neustart funktionierte IIS wie erwartet.

0
Adam Hey

Meistens, wenn dies von Web-Entwicklern geschieht, ist Apache der Grund, also, wenn Sie von Apache aus die Konfigurationsdatei aufrufen! öffne es und suche mit ctrl + f bis 80 und ändere die ip, die du sehen wirst auf 8080 und den Satz darunter mit 80 bis 8080 und du musst das in dir xampp bestätigen, oder du benutzt das Programm, das du gerade verwendest

Ich hoffe, ich werde euch helfen

0
Arne Schouten

Um aussagekräftigere Informationen zu erhalten, besteht eine Möglichkeit darin, beim Ausgeben von netstat auch Eigentumsinformationen abzurufen, sodass Sie den Prozess kennen, der entweder 80 (Standard-http-Bindung) oder 443 (wenn https-Bindung definiert ist) verwendet:

 netstat -ab

In meinem Fall war der Täter vmware:

TCP 0.0.0.0:443 Computername: 0 HÖREN 
[vmware-hostd.exe]

netstat kann in find zur Suche nach Ports 80 oder 443 (z. B. find ":443") geleitet werden, diese speziellen aktiven Verbindungen werden jedoch am Anfang der Liste angezeigt, wenn sie leicht zu sehen sind. 

0
Alexei

Mein Fall war nach der Installation von RD Web Access. Die ursprünglichen Standardwebsites konnten nicht gestartet werden. Die RD-Webzugriffsrolle wurde noch immer entfernt. Durch das Entfernen der Bindung von Port 443 wurde das Problem behoben. 

0
Nick