Lorsque j'essaie de démarrer un site dans IIS, il est dit:
le processus ne peut pas accéder au fichier car il est utilisé par un autre processus
J'ai cherché dans Google et j'ai trouvé qu'un autre site utilisait peut-être le port 80, mais dans MyIIS, je vois que seul ce site utilise le port 80. Qu'est-ce qui pourrait utiliser le port 80 ou y a-t-il un autre problème?
IIS-W3SVC
etHttpEvent
source. Texte du deuxième journal des événements -Unable to bind to the underlying transport for [::]:8080. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine. The data field contains the error number.
. Le port 8080 était utilisé par un service Oracle. J'ai changé le port utilisé par mon site Web en 8081.Réponses:
Vérifiez en utilisant
netstat -aon
ounetstat -aon | findstr 0.0:80
dans une invite de commande pour voir quel ID de processus ÉCOUTE sur le port: 80 , puis surveillez cet ID de processus (PID) dans le Gestionnaire des tâches avec vue-> sélectionner les colonnes-> ID de processus coché. 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:
Remarque: changez
123
avec le PID renvoyé par la première commande.la source
netstat -aon | findstr 0.0:80
. Et en supposant alors que les rendements PID 123, exécutez la commande suivante pour voir quel processus est le suivant :tasklist /FI "PID eq 123"
.OracleServiceXE
service qui avait mangé le port 8080 auquel le nouveau site Web de mon serveur IIIS essayait de se lier.Cela se produit parce qu'un processus différent utilise le port 80, il peut s'agir d'une application de chat sur votre PC comme Skype.
Tout d'abord, changez le port par défaut du site Web qui était 80 en un port inutilisé (par exemple 8087). Pour ce faire, faites un clic droit sur l'application puis cliquez sur «Modifier la liaison».
Après ce changement de port, redémarrez à nouveau. Vous pouvez maintenant identifier le processus qui bloque le port IIS 80. Pour vérifier cela, utilisez la commande netstat qui affiche les détails du port avec l'ID de processus.
la source
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 mon IIS. Cela a fonctionné pour moi.
la source
Vous pouvez également exécuter cette commande pour savoir quelle application ou quel service utilise le port, puis le retracer dans le gestionnaire de tâches (à condition qu'il ne s'agisse pas du service d'agent de déploiement Web).
netstat -o -n -a | findstr 0.0: 80
Ensuite, ouvrez le Gestionnaire de tâches, allez dans Processus, cliquez sur la case à cocher "Afficher les processus pour tous les utilisateurs", puis cliquez sur le menu Affichage et Allez dans les colonnes, ajoutez la colonne PID.
Faites correspondre l'ID de processus de la commande netstat au PID dans le gestionnaire de tâches et vous trouverez le service ou l'application qui utilise le port.
la source
tasklist /FI "PID eq <PID from netstat (without brackets)>"
.Comme d'autres l'ont dit, quelque chose d'autre peut utiliser le port 80 ou 443. C'était VMWare Workstation Server pour moi, mais vérifiez les autres réponses pour savoir comment utiliser netstat.
la source
netstat
pour vérifier le port 80 et rien n'a été montré. Ensuite, vous avez mentionné le port 443 et c'était là.Je pense que ce lien donne une assez bonne explication et solution de ce problème http://support.microsoft.com/KB/890015
Le plus souvent; 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, tuez le processus du gestionnaire de tâches (cochez 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 non valide dans ListenOnlyList classée dans 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 invalide. Vous devez redémarrer le http une fois que vous modifiez l'adresse ip!la source
Dans mon cas, c'était le " Service de partage de synchronisation " (SyncShareSvc) qui fonctionnait et utilisait le port 80. netstat a montré que 80 était gratuit, cependant. Je pourrais faire fonctionner le site sur un autre port, mais pas 80. si j'ajoutais un nom d'hôte, IIS me permettrait de démarrer le site, mais je serais invité à m'authentifier Digest lors de la navigation vers localhost (ou tout nom d'hôte que je ajoutée). Seules les authentifications anonymes et formulaires ont été activées dans IIS ...
J'ai également constaté qu'après avoir arrêté IIS,
http://localhost
je me demandais toujours l'authentification Digest.La solution - dans mon cas - était de supprimer les 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.
la source
Mon cas était qu'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 RD toujours le même. La liaison du port 443 supprimée a résolu le problème.
la source
La plupart du temps, lorsque cela se produit par les développeurs Web, c'est la raison pour laquelle Apache, donc si vous accédez au fichier de configuration d'Apache! ouvrez-le et recherchez avec ctrl + f à 80 et changez l'ip que vous verrez en 8080 et la phrase en dessous avec 80 à 8080 et vous devez le configurer dans vous xampp, ou le programme que vous utilisez actuellement
J'espère que je vais vous aider les gars
la source
Afin d'obtenir des informations plus significatives, une façon est d'obtenir également des informations de propriété lors de l'émission
netstat
afin que vous connaissiez le processus qui utilise 80 (liaison http par défaut) ou 443 (si la liaison https est définie):Dans mon cas, le coupable était vmware:
netstat peut être redirigé vers find pour rechercher les ports 80 ou 443 (par exemple
find ":443"
), mais ces connexions actives particulières s'afficheront au début de la liste car elles sont faciles à voir.la source