web-dev-qa-db-fra.com

Impossible de démarrer le site dans IIS (utilisé par un autre processus)

Lorsque j'essaie de démarrer un site dans IIS, il est indiqué: 

le processus ne peut pas accéder au fichier car il est utilisé par un autre processus

J'ai cherché dans Google et découvert qu'un autre site utilisait peut-être le port 80, mais dans MyIIS, je constate que seul ce site utilise le port 80. Qu'est-ce qui pourrait utiliser le port 80 ou un autre problème en cause?

91
user1729807

Vérifiez à l'aide de netstat -aon ou netstat -aon | findstr 0.0:80 dans une invite de commande pour voir quel ID de processus correspond à ÉCOUTER sur le port: 80 , puis recherchez cet ID de processus (PID) dans Gestionnaire de tâches avec afficher-> sélectionner des colonnes > identifiant du processus vérifié. Terminez ce processus, redémarrez IIS et vous avez terminé. (Remarque: si vous avez Skype installé, essayez d'abord de quitter ce processus.)

Dans un gestionnaire de tâches moderne, vous devez accéder à l'onglet Détails pour rechercher le PID. Ou, comme mentionné par @Nikita G dans les commentaires, vous pouvez utiliser cette commande pour trouver la tâche à partir de votre invite de commande: 

tasklist /FI "PID eq 123"

Remarque: changez 123 avec le PID renvoyé par la première commande.

172
Manoj Purohit

Cela se produit car un processus différent utilise le port 80. Il peut s'agir d'une application de discussion sur votre PC, telle que Skype.

Commencez par remplacer le port par défaut du site Web (80) par un port non utilisé (par exemple 8087). Pour ce faire, cliquez avec le bouton droit de la souris sur l'application, puis sur "Modifier la liaison".

enter image description here

enter image description here

Après ce changement de port, redémarrez à nouveau . Maintenant, vous pouvez identifier le processus bloquant le IIS Port 80. Pour vérifier cette opération, utilisez la commande netstat qui affiche les détails du port ainsi que l’ID du processus.

35
Ravindra Bagale

Déconnectez-vous de Skype et réessayez. J'ai rencontré le même problème et je viens de me déconnecter de Skype, puis de réinitialiser mes services Internet. Cela a fonctionné pour moi.

25
Ovais Mumtaz

Vous pouvez également exécuter cette commande pour savoir quelle application ou quel service utilise le port, puis le suivre dans le gestionnaire de tâches (à condition qu'il ne s'agisse pas du service d'agent Web Deploy).

netstat -o -n -a | findstr 0.0: 80

Ouvrez ensuite le Gestionnaire des tâches, accédez à Processus, cochez la case "Afficher les processus pour tous les utilisateurs", puis cliquez sur le menu Afficher, puis sur Aller aux colonnes et ajoutez la colonne PID.

Faites correspondre l'ID de processus de la commande netstat avec le PID dans le gestionnaire de tâches et vous trouverez le service ou l'application utilisant le port.

9
Bikey

Comme d'autres l'ont déjà dit, il se peut que le port 80 ou 443 soit utilisé à une autre occasion. Il s'agissait de VMWare Workstation Server pour moi, mais vérifiez dans les autres réponses comment utiliser netstat.

2
solublefish

Je pense que ce lien donne une assez bonne explication et solution de ce problème http://support.Microsoft.com/KB/890015

La plupart du temps; cela est dû à l'une des deux raisons suivantes: 1) le port 80 est utilisé par autre chose et comme suggéré par d'autres, vous pouvez utiliser netstat -o -n -a | findstr 0.0: 80 pour voir si c'est le cas. Si oui, supprimez le processus du gestionnaire de tâches (cochez la case Afficher les processus de tous les utilisateurs).

2) si le port 80 n'est pas utilisé, la deuxième cause est potentiellement une adresse IP invalide dans le fichier ListenOnlyList de la clé de registre de HTTP-> Paramètres. Si vous suivez le lien pour définir la clé manuellement ou en fait, vous pouvez utiliser (xp et serveur 2003) httpcfg delete iplisten -i ipaddress pour supprimer l’adresse IP non valide. Vous devez redémarrer le http une fois que vous avez édité l'adresse IP!

1
stt106

Dans mon cas, c’est le " Sync Share Service " (SyncShareSvc) qui fonctionnait et utilisait le port 80 . Netstat montrait que 80 était libre, cependant. Je pourrais faire en sorte que le site s’exécute sur un autre port, mais pas 80. Si j’ ajoutais un nom d’hôte, IIS me permettrait de démarrer le site, mais on me demanderait de s’authentifier Digest lors de la navigation sur localhost n'importe quel nom d'hôte que j'ai ajouté). Seuls Anonymous et Forms Auth ont été activés dans IIS ...

J'ai également constaté que, après avoir arrêté IIS, http://localhost m'avait toujours demandé l'authentification Digest.

Dans mon cas, la solution consistait à supprimer Services de fichiers et de stockage> Fichiers et services iSCSI> "Dossiers de travail" des services installés (redémarrage requis).

Après avoir supprimé le service "Dossiers de travail" et redémarré, IIS a fonctionné comme prévu.

0
Adam Hey

La plupart du temps, lorsque cela se produit, les développeurs Web ont pour raison Apache. Si vous accédez au fichier de configuration d’Apache! ouvrez-le et cherchez avec ctrl + f à 80 et changez l'adresse IP que vous verrez à 8080 et la phrase ci-dessous avec 80 à 8080 et vous devez configurer cela en vous xampp, ou le programme que vous utilisez actuellement

J'espère que je vais vous aider les gars

0
Arne Schouten

Pour obtenir des informations plus significatives, vous pouvez également obtenir des informations sur la propriété lors de l’émission de netstat afin de connaître le processus utilisant 80 (liaison http par défaut) ou 443 (si la liaison https est définie):

 netstat -ab

Dans mon cas, le coupable était vmware:

TCP 0.0.0.0:443 ComputerName: 0 ÉCOUTE 
[vmware-hostd.exe]

netstat peut être connecté à find pour rechercher les ports 80 ou 443 (par exemple, find ":443"), mais ces connexions actives particulières apparaîtront au début de la liste lorsqu'elles sont faciles à voir. 

0
Alexei

Mon cas était après l'installation de RD Web Access, les sites Web par défaut d'origine ne pouvaient pas être démarrés. Suppression du rôle d'accès Web aux services Bureau à distance toujours identique. La liaison du port 443 supprimée a résolu le problème. 

0
Nick