Jenkins无法启动:无法收听端口8080

Sac*_*nth 19 jenkins

我正在使用詹金斯,从昨天起它就停止了工作.我查看了Windows服务,它已被停止(不知何故).我重新启动了它,但它立即停止了.

我查看了运行服务的目录(C:\ Program Files\Jenkins)并打开了名为jenkins.out.log的日志文件.这就是它所说的

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
Run Code Online (Sandbox Code Playgroud)

Sac*_*nth 28

已修复 - 适用于将来可能遇到此问题的其他人.我使用了这篇Techrepublic文章,归结为

netstat -a -n -o | grep "8080"
Run Code Online (Sandbox Code Playgroud)

找出如何找出哪个进程正在使用端口8080,然后在任务管理器中将其杀死,然后重新启动Jenkins,一切都很顺利(到目前为止!).

  • 可能发生在尝试重新启动Jenkins之后,Java进程未正确关闭...尝试**手动杀死Java进程**,然后重新启动Jenkins服务. (2认同)

Ani*_*ath 18

要在WinStone容器上启动Jenkins(与Jenkins war捆绑在一起的默认容器),请使用以下命令:

java -jar jenkins.war --ajp13Port=-1 --httpPort=9090

此外,要检查Windows中的任何应用程序是否正在使用某个端口:

netstat -ano | find "9090"

最好在Tomcat上运行Jenkins.