web-dev-qa-db-fra.com

java.net.BindException: adresse déjà utilisée: JVM_Bind <null>: 80

Je reçois une exception de liaison lors du démarrage du serveur Tomcat. J'ai essayé de tuer le processus qui utilise '80' car plusieurs processus l'utilisent.

Obtenir une erreur alors que le processus de mise à mort est à '0'

ERREUR: le processus avec le PID 0 n'a pas pu être terminé. Raison: Ceci est processus système critique. Taskkill ne peut pas terminer ce processus.

Comment régler ceci?

Je n'ai pas besoin d'utiliser un autre port pour exécuter le serveur Tomcat.

9
iamjustcoder

Régler Tomcat pour écouter le port 80 est INCORRECT, pour le développement le 8080 est un bon port à utiliser. Pour une utilisation en production, configurez simplement un Apache qui transmettra vos demandes à votre Tomcat. Ici est un comment. 

7

L'erreur:

Java.net.BindException: adresse déjà utilisée: JVM_Bind: 80

signifie qu'une autre application écoute sur le port 80.

Vous pouvez vérifier quel processus utilise ce port à l'aide de la commande lsof, par exemple. Sudo lsof -i:80. Puis arrêtez ou tuez-le.

Si cela ne vous aide pas à trouver une application s'exécutant sur le même port, l'erreur habituelle est la mauvaise configuration de Tomcat.

Par exemple, par défaut, Tomcat écoute la commande SHUTDOWN sur le port 8005 et si vous configurez un autre connecteur pour qu'il écoute sur le même port, vous aurez un conflit de port.

Donc, veuillez vérifier server.xml si ces ports sont différents:

<Server port="8005" shutdown="SHUTDOWN">
    <Connector port="8983" protocol="HTTP/1.1"
11
kenorb

PID 0 est le processus inactif du système, qui n'écoute sûrement pas le port 80. Comment avez-vous vérifié quel processus utilisait le port?

Vous pouvez utiliser

netstat /nao | findstr "80"

pour trouver le PID et vérifier de quel processus il s’agit.

5
csaba.sulyok

Utilisez la commande suivante pour rechercher si votre port Tomcat est déjà utilisé,

netstat -a -b

Exception : Java.net.BindException: Address already in use: JVM_Bind:80

signifie que le port 80 est configuré par votre serveur Tomcat et qu'il est déjà utilisé par une autre application en cours d'exécution sur votre ordinateur. Veuillez quitter Skype si vous l'ouvrez ou changer le port par défaut dans Skype ou le port d'une autre application en un autre que 80. Ou changez le port de Tomcat en un autre que 80 (par exemple 8080 ou 9090) dans le fichier server.xml du dossier de configuration de votre ordinateur. Répertoire d'installation de Tomcat.

Exception : Java.net.BindException: Address already in use: JVM_Bind

signifie que vous ne devez pas arrêter le serveur Tomcat correctement et que vous essayez de le redémarrer. Dans Eclipse, la solution pour moi consistait à supprimer le projet de l'onglet Serveurs, à cliquer avec le bouton droit de la souris et à exécuter le projet en tant qu'exécuter sur le serveur. Cela a ajouté le projet à Tomcat 7 et je n’ai pas obtenu l’erreur BindException. Cela était dû à la fermeture d'Eclipse la dernière fois que vous avez utilisé sans arrêter le serveur Tomcat.

3
Lucky

Je fais une erreur maladroite et cela me prend 2 heures pour le résoudre. Je l'ai mentionné ici pour que d'autres personnes puissent les aider.

2
ali

C:\Fichiers de programme (x86)\Apache Software Foundation\Tomcat 7.0\conf

Votre ID de port dans Server.xml Le fichier du dossier source est 8080. changez le numéro de port en 8081 ... etc. 

0
selvan

J'ai supprimé mon serveur et l'a rajouté. C'est arrivé parce que j'ai arrêté Eclipse manuellement via le gestionnaire de tâches et que Tomcat n'a pas été arrêté. 

0
Vineela Thonupunuri

Si vous avez un processus d'écoute sur le port 8080, vous pouvez toujours configurer Tomcat pour qu'il écoute sur un autre port. Pour modifier le port d'écoute en modifiant votre server.xml situé dans le répertoire conf du serveur Tomcat.

Recherchez Connector port="8080" dans server.xml et remplacez le numéro de port par un autre port.

0
Juned Ahsan

J'ai complètement oublié que j'avais précédemment installé une autre version d'Apache Tomcat, qui était à l'origine de ce problème. Alors, essayez simplement de désinstaller la version précédente. J'espère que ça aide.

0
Yash P Shah

L'erreur: 

Tomcat: Java.net.BindException: adresse déjà utilisée: JVM_Bind : 80

suggère que le port 80 est déjà utilisé.
Vous pouvez soit: 

  • Essayez de rechercher ce processus et arrêtez-le OU
  • Faites en sorte que votre Tomcat fonctionne sur un port (gratuit) différent

Voir aussi: Erreur de déploiement: Echec du démarrage de Tomcat, le port du serveur 8080 est déjà utilisé

0
S1LENT WARRIOR

Assurez-vous que le fichier/webapps/ROOT est présent et que toutes les icônes, WEB-INF, et index.jsp se trouvent dans le dossier. 

Lorsque vous démarrez Tomcat, ce code sera exécuté dans le répertoire <Tomcat-Directory>/conf/web.xml

<welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

L'emplacement de index.jsp est dans <Tomcat-Directory>/webapps/ROOT/index.jsp

Essayez également d’exécuter Tomcat à partir du répertoire/bin en utilisant ./catalina.sh start au lieu de ./startup.sh. Pour certaines raisons, ./startup.sh n'est pas aussi fiable. 

0
Gene