Comment libérer mon port 80 sur Windows localhost?

124

J'ai installé XAMPP 1.6.8 et pour une raison quelconque, cela n'a pas fonctionné. Le port 80 réalisé plus tard n'est pas libre ou n'écoute pas. Comment puis-je le publier ou le rendre gratuit?

Merci beaucoup!

informatik01
la source
Je crois que c'est une question en double de (veuillez trouver la réponse ici) -> stackoverflow.com/questions/1430141/...
Dung
Dupliquer ou non. C'est le premier hit sur Google .
Bitterblue

Réponses:

113

Cette agonie a été résolue pour moi. J'ai découvert que ce qui prenait le contrôle du port 80 était le service api http. J'ai écrit en cmd:

net stop http

M'a demandé "Les services suivants vont être arrêtés, voulez-vous continuer?" Pressé y

Il a en fait arrêté un certain nombre de services.

Puis écrit localhostet wallah, Apache est opérationnel sur le port 80.
J'espère que cela vous aidera

Important : Skype utilise le port 80 par défaut, vous pouvez changer cela dans les options skype> avancé> connexion - et décocher "utiliser le port 80"

MuhFred
la source
Sous Windows 7, je ne pouvais pas arrêter les processus en raison d'un "accès refusé", mais il m'a montré les noms des processus qui seraient tués si j'avais les droits (je n'avais pas les droits pour netstat -a -b).
Pavel V.
1
@PavelV. vous devez exécuter l'invite de commande avec des droits d'administration. ouvrez démarrer, et écrivez dans la recherche "cmd", faites un clic droit sur cmd et sélectionnez Exécuter en tant qu'administrateur.
MuhFred
67

netstat -ano

Cela vous montrera le PID du processus qui écoute sur le port 80. Après cela, ouvrez l'onglet Gestionnaire des tâches -> Processus. Dans le View -> Select Columnsmenu, activez la PIDcolonne et vous verrez le nom du processus écoutant sur le port 80.

Francisco
la source
1
C'est bien car il peut y avoir d'autres processus avec le même nom. Je me demande s'il existe une commande kill dans Windows que je peux exécuter contre le PID trouvé au lieu de le faire via le gestionnaire de tâches.
Sundeep
taskkill ne tue pas la tâche. Son toujours montrant le port 80 en cours d'exécution. @Jijo
Aakash Thakur
1
pouvez-vous essayer d'utiliser / f / t à la fin, cela tuera de force la tâche, je suis actuellement sur un système linux, non vérifié
Jijo
41

netstat -a -b

Devrait vous dire quel programme est lié au port 80

Chad Grant
la source
1
il m'a juste donné des octets, unicast etc. etc. n'a pas donné ce qui est lié sur le port 80. Ai-je manqué quelque chose?
6
ntoskrnl.exe - et maintenant?
Tim Lovell-Smith
1
J'ai essayé cela et il a dit "l'opération demandée nécessite une élévation"
crée un paysage
Tu es Dieu! En me prosternant , j'ai pu trouver le nom du service réel qui avait le même ID de processus avec les autres, donc je ne pouvais pas comprendre avant le service réel à tuer du gestionnaire de tâches. Merci beaucoup!
divy3993 le
36

J'ai eu ce problème auparavant,

si vous voyez le gestionnaire de tâches (après avoir activé la vue pour PID), vous trouverez que PID = 4 est "le port 80 utilisé par NT Kernel & System;"

Allez simplement à

  1. Panneau de configuration
  2. Programmes
  3. Activer / désactiver les fonctionnalités Windows
  4. vérifier si le World wide web servicesdessous IISest coché

Si tel est le cas, décochez à nouveau et netstat (ou TCPVIEW) pour voir si 80 est libre.

Eswar Rajesh Pinapala
la source
2
Win7: la recherche dans le menu de démarrage de "IIS" fait apparaître le "Gestionnaire IIS", où vous pouvez désactiver le serveur.
Philipp
34

utilisez netstat -bano dans une invite de commande élevée pour voir quelles applications écoutent sur quels ports.

Mais généralement, les applications suivantes utilisent le port 80 dans Windows.

  1. IIS
  2. Service de publication World Wide Web
  3. Service d'administration IIS
  4. Services de création de rapports SQL Server
  5. Service d'agent de déploiement Web

Arrêtez les applications ci-dessus si elles sont en cours d'exécution et vérifiez !!!

Rushik Parikh
la source
Savez-vous comment vous assurer que ces services n'utilisent pas le port 80?
rahoolm
18

Utilisez TcpView pour trouver le processus qui écoute le port et fermez le processus.

MMind
la source
ou vous pouvez utiliser findstar dans un fichier batch windowstechinfo.com/2015/05/…
Aravinda
6

Une autre option à essayer consiste à arrêter SQL Server Reporting Services.

Kinjal Dixit
la source
merci, pour moi, c'était SQL Server Reporting Services (MSSQLSERVER) je ne sais pas pourquoi, mais quand je le termine par la console de services, processus avec pid 4 non lié à partir de 0.0.0.0:80
Vladimir Shmidt
6

Vous pouvez l'utiliser net stop httppour afficher le processus utilisé. De nombreux services Web utilisent

Warwicky
la source
6

Essayer

netstat -anb -p tcp

qui montrent les ports et les processus

MBaas
la source
L'état de mon application xampp montre à la fois l'état d'apache et de mysql 1 start 1 service 1 Mais le navigateur n'affiche toujours pas l'hôte local. pourquoi ça? des pointeurs? :(
5

Ce n'est qu'une supposition, mais comme le port 80 est le port conventionnel pour HTTP, vous pouvez avoir un serveur Web en cours d'exécution sur votre système. IIS est-il actif?

Si vous exécutez IIS, le service de batterie de serveurs Web est peut-être en cours d'exécution. C'était ce qui tuait mon xampp.

Thomas L Holaday
la source
1
Non, je n'ai pas d'IIS. J'ai utilisé xampp avant et cela avait fonctionné. Je suppose qu'un autre service est assis sur le port 80 et n'autorise pas la réinstallation du service Apache dessus.
2
Skype aime aussi voler le port 80, un coupable inattendu courant!
Simon_Weaver
5

Tapez "netstat -ano" dans votre ligne de commande. J'ai vu qu'il montrait quelque chose pour le port d'adresse locale 0.0.0.0:80.

Mon problème était dû au fait que j'avais SQL Server Reporting Services sur le port 80. J'ai donc suivi ces instructions et changé le numéro de port de 80 à 81:

http://seankilleen.com/2012/11/how-to-stop-sql-server-reporting-services-from-using-port-80-on-your-server-field-notes/

Voici une image de ma ligne de commande APRÈS avoir changé le numéro de port pour SQL Server Reporting Services:

entrez la description de l'image ici

Si vous rencontrez toujours le même problème, lisez ce forum:

http://forum.wampserver.com/read.php?2,66196,66233#REPLY

Gène
la source
4

Skype aime utiliser le port 80 et bloque IIS. C'était mon problème.

Marcelo Mason
la source
4

J'ai aussi eu le même problème. net stop httpn'a pas aidé et l' option des services Web mondiaux sous IIS dans le panneau de configuration de Windows n'était pas cochée. Donc, dans le panneau de configuration XAMPP, je viens de cocher la case Svc près du bouton de démarrage Apache (Installer Apache en tant que service) et redémarré Windows. Et maintenant, chaque fois que Windows démarre, Apache démarre automatiquement et occupe le port 80 avant tout autre service. A travaillé pour moi!

user2513149
la source
2

Services Windows connus qui écoutent sur le port 80

À partir du Gestionnaire de services (exécutez: services.msc), arrêtez et désactivez ces services Windows qui sont connus pour se lier au port 80.

Double-cliquez sur Service et remplacez "Type de démarrage" par "Désactivé"…

  1. SQL Server Reporting Services (ReportServer)
  2. Service d'agent de déploiement Web (MsDepSvc)
  3. BranchCache (PeerDistSvc)
  4. Service de partage de synchronisation (SyncShareSvc)
  5. Service de publication World Wide Web (W3SVC)
  6. Internet Information Server (WAS, IISADMIN)

skype utilise également le port 80 comme paramètre par défaut et vous pouvez le décocher.

Certains de ces services peuvent ou non être installés et exécutés.

Dans mon cas, "SQL Server Reporting Services" ouvrait le port 80.

user3600935
la source
0

Pour moi, ce problème a commencé lorsque j'ai hébergé une connexion VPN sur mon ordinateur Windows 8.

Le simple fait de supprimer la connexion de "Panneau de configuration \ Réseau et Internet \ Connexions réseau" a résolu le problème.

Zar
la source
0

J'essayais d'installer à nginxpartir d'ici - http://nginx.org/en/docs/windows.html

Aller à http: // localhost / affichera quelque chose, au moins un message correct "not found".
C'est parce que 80 est le port par défaut, et il a été pris par d'autres processus.

Maintenant, exécutez la commande ci-dessous:

net stop http

    // Above command stopped below services  
    // - SSDP Discovery  
    // - Print Spooler  
    // - BranchCache  
    // - Function Discovery Resource Publication  
    // - Function Discovery Provider Host  

Maintenant, aller à http: // localhost / échouera avec un message de page de lien cassé.

Le processus principal était BranchCache
Ce processus, une fois arrêté, redémarrera dans quelques secondes.
Nous devons donc exécuter d'autres commandes dont nous avons besoin bientôt, un exemple ci-dessous:

// this will stop
net stop http

// immeidately run other command you want to
start nginx

Maintenant, allez sur http: // localhost / m'a donné:

Welcome to nginx!

J'espère que cela pourra aider.

Manohar Reddy Poreddy
la source
-1

dans mon cas, la fenêtre est pour arrêter le service de l'agent de déploiement Web. Tapez dans cmd

 net stop msdepsvc 
gogog
la source