Jenkins ne démarre pas: impossible d'écouter sur le port 8080
Je suis à l'aide de Jenkins et depuis hier, il a cessé de travailler. J'ai regardé le Service Windows et il avait été arrêté (en quelque sorte). J'ai redémarré, mais il s'est arrêté immédiatement après.
J'ai regardé dans le répertoire où le service est exécuté à partir d' (C:\Program Files\Jenkins) et ouvert le fichier de journal, il y a appelé jenkins.out.journal. C'est ce qu'il dit
Running from: C:\Program Files\Jenkins\jenkins.war
webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
[Winstone 2012/05/17 10:14:42] - Beginning extraction from war file
Jenkins home directory: C:\Program Files\Jenkins found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
[Winstone 2012/05/17 10:14:44] - Winstone shutdown successfully
[Winstone 2012/05/17 10:14:44] - Container startup failed
java.io.IOException: Failed to start a listener: winstone.HttpListener
at winstone.Launcher.spawnListener(Launcher.java:250)
at winstone.Launcher.<init>(Launcher.java:202)
at winstone.Launcher.main(Launcher.java:398)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at Main._main(Main.java:268)
at Main.main(Main.java:96)
Caused by: java.io.IOException: Failed to listen on port 8080
at winstone.HttpListener.getServerSocket(HttpListener.java:117)
at winstone.HttpListener.start(HttpListener.java:70)
at winstone.Launcher.spawnListener(Launcher.java:241)
... 8 more
Caused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at winstone.HttpListener.getServerSocket(HttpListener.java:112)
... 10 more
- Depuis le journal des erreurs valoir que le port 8080 est déjà lié à un autre processus de JVM - avez-vous essayé de
telnet
à cette adresse et de voir quelle est la réponse? - comment pourrais-je le faire?
Vous devez vous connecter pour publier un commentaire.
Fixe pour quelqu'un d'autre qui pourrait avoir ce problème à l'avenir. J'ai utilisé ce Techrepublic article, ce qui revient à
pour savoir comment trouver le processus qui a été en utilisant le port 8080, puis l'a tué dans le Gestionnaire des Tâches, puis redémarré Jenkins et tout allait bien (pour l'instant!).
De lancer Jenkins sur WinStone conteneur(conteneur par défaut livré avec Jenkins guerre), utilisez la commande suivante:
java -jar jenkins.war --ajp13Port=-1 --httpPort=9090
Aussi, pour vérifier si un port est utilisé par n'importe quelle application utiliser dans Windows:
netstat -ano | find "9090"
De son mieux pour exécuter Jenkins sur Tomcat.
Comme dans d'Erreur Trace de la Pile, il est mentionné que le port 8080 est déjà en cours d'utilisation, Vérifier où se trouve le port 8080 est utilisé ou comme alternative changer le Jenkins Port Jenkins.xml pour certains autres aviable port.
C'est vraiment utile, que j'ai utilisé lorsque j'ai été confronté à différentes exceptions lors de l'installation de Jenkins.
de mettre ça ici au cas où il permet à quelqu'un --j'ai eu le même problème initial - port 8080 bloqué.
Si vous pouvez le croire --windows store a été exécuté sur le port 8080 et le blocage de mon Jenkins port. grrr!
Des mesures pour y remédier:
1) utilisé @HenryHey la réponse ci-dessus pour trouver le PID: netstat -a-n -o | grep "8080"
2) utilisé sysinternals process explorer pour trouver ce programme a été enregistré pour le PID
3) utilisé la commande suivante (qui se trouve de l'article par @Joie-Qiao - grâce) pour supprimer des applications du windows store (utiliser powershell): Get-AppxPackage windowsstore | Supprimer-AppxPackage
Remarque: ce fut plutôt drastiques approche de compensation port 8080 - une meilleure option serait de simplement déplacer Jenkins à un autre port, mais je me sentais un peu draconique.
J'ai eu le même problème, essayé de mettre à niveau Jenkins comme il a été demandé, mais alors le service Windows ne démarre pas, quelque chose d'autre a été en cours d'exécution sur le port 8080. S'est avéré était une instance de
java.exe
processus après que je l'ai tué dans le Gestionnaire des Tâches tout a commencé à travailler très bien.java-jar jenkins.guerre --ajp13Port=-1 --httpPort=9090
résolu mon problème