82 votes

Pourquoi le processus Système écoute-t-il sur le port 80 ?

J'utilise Windows 7 RC1. J'ai de nombreux problèmes pour faire fonctionner IIS sur mon système et aujourd'hui, lorsque j'ai installé une nouvelle application et que j'ai essayé de la charger en utilisant http : \localhost\MyApplication Je ne reçois absolument aucune erreur et je n'obtiens aucun chargement de page. Juste une jolie page blanche.

J'ai creusé un peu et j'ai trouvé quelque chose à propos d'un autre processus écoutant sur le port 80, donc j'ai fait un scan en utilisant netstat -aon | findstr 0.0:80 et j'ai découvert que le PID 4 écoutait sur ce port.

PID 4 n'apparaît pas dans le gestionnaire des tâches, j'ai donc lancé Process Explorer et il m'a montré que PID 4 est le processus système. (De multiples recherches sur Google semblent indiquer que le système utilise toujours le PID 4).

Depuis lors, je suis pratiquement coincé. Je n'ai aucune idée de la raison pour laquelle System a besoin du port 80 et de ce qu'il faut faire pour y remédier.

Si vous tapez les chaînes de caractères suivantes sur Google, vous trouverez deux articles utiles d'Experts-Exchange en tête des résultats de recherche et vous pourrez les lire pour obtenir des informations utiles.

(Si je donnais l'URL directe des pages, Experts-Exchange vous demanderait de payer... mais lorsque vous cliquez sur les résultats d'une recherche google, vous pouvez faire défiler tout le texte jusqu'en bas pour lire les échanges).

Voici les recherches sur Google...
"Le processus système écoute sur le port 80 (Vista)".
"Le processus SYSTEM écoute sur le port 80 et empêche l'exécution du site Web par défaut d'IIS".

La dernière entrée du premier résultat montrait comment faire une trace de http.sys à l'URL suivante :

http://blogs.msdn.com/wndp/archive/2007/01/18/event-tracing-in-http-sys-part-1-capturing-a-trace.aspx

Le traçage n'a rien montré d'utile. Des idées ?

49voto

automatonic Points 2830

Le service 'Web Deployment Agent' fonctionne sur le port 80 en tant que System. Il est possible que ce service soit en cours d'exécution si vous utilisez WebMatrix.

46voto

user81284 Points 61

Ouvrez Services.msc et arrêtez ce service "Sql server reporting services(MSSQLSERVER)".

enter image description here

J'avais TOUT essayé, mais ça a marché pour moi :

Vous trouverez ci-dessous des instructions supplémentaires sur la manière d'arrêter ce service.

  1. Cliquez à droite sur Mon ordinateur
  2. Sélectionnez Gérer
  3. Double-cliquez Services et applications
  4. Puis double-cliquez sur Services
  5. Cliquez à droite sur "Sql server reporting services(MSSQLSERVER)"
  6. Sélectionnez Stop ...et voilà, le port 80 a été libéré

28voto

Mark Points 251

Ce billet sur Faire fonctionner Apache sur le port 80 sous Windows 7 (archive internet) décrit votre point de vue.

Il semblerait que le http.sys Le service ' (Windows Remote Management ?) est activé par défaut dans Windows 7.
Parcourez les commentaires sur ce lien pour en savoir plus...

l'hypen-site n'a pas nécessairement les seules réponses.

24voto

rakslice Points 2526

Vous pouvez arrêter temporairement le service HTTP à partir de la ligne de commande :

  1. Exécutez une invite de commande administrateur (par exemple, Démarrer, rechercher cmd cliquez dessus avec le bouton droit de la souris, choisissez "Exécuter en tant qu'administrateur", approuvez l'invite UAC s'il y en a une).
  2. Type net stop HTTP
  3. S'il y a d'autres services en cours d'exécution qui dépendent du service HTTP, vous obtiendrez une liste ; vérifiez si vous ne pouvez pas vous passer de l'un de ces services. Ou, si vous arrêtez simplement HTTP pour utiliser le port 80 temporairement, notez les services dépendants que vous voudrez redémarrer une fois que vous en aurez fini avec le port. Dans tous les cas, si vous êtes d'accord, entrez y pour continuer.
  4. Certains services dépendants peuvent émettre des avertissements de contrôle d'arrêt qui annulent l'opération ; répétez simplement net stop HTTP jusqu'à ce qu'il soit arrêté (c'est-à-dire jusqu'à ce qu'il dise The HTTP service was stopped successfully. )
  5. Plus tard, vous pouvez redémarrer n'importe lequel des services dépendants, en utilisant net start ou en utilisant l'élément Services dans les Outils d'administration (pour l'ouvrir plus rapidement, cliquez sur Win + R en cours d'exécution services.msc ) où vous pouvez choisir les services dans une liste, et le service HTTP sera redémarré automatiquement.

3voto

vishnu Points 31

Telnet localhost 80 renvoie HttpAPI/2.0 qui signifie à son tour "Sql server reporting service". L'arrêt du même libère le port 80.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X