2012-05-17 78 views
18

我正在使用Jenkins,并且从昨天开始它已停止工作。我看着Windows服务,它已经停止(以某种方式)。我重新启动它,但之后立即停止。Jenkins不会启动:无法在端口8080上侦听

我特地在该服务是从(C:\ Program Files文件\詹金斯)运行的目录,打开名为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 
+2

由于错误日志声称端口8080已经绑定到另一个JVM进程 - 您是否尝试对此地址进行“telnet”并查看回答? – Filburt

+1

我该怎么做? –

回答

28

固定 - 对于将来可能有这个问题的任何人。我用这个Techrepublic article,这可以归结为

netstat -a -n -o | grep "8080" 

找出如何找出过程使用端口8080,其然后在任务管理器杀了它,然后重新启动詹金斯和一切都很好(至少到目前为止)。

+1

+1 ...或这种方式。 – Filburt

+2

尝试重新启动Jenkins(Java进程没有正确关闭)之后可能会发生......尝试**手动杀死Java进程**,然后重新启动Jenkins服务。 –

3

为错误堆栈跟踪中提到,8080端口已在使用,检查,其中8080​​端口使用或作为替代变化詹金斯港口Jenkins.xml一些其他aviable端口。

16

要在温斯顿容器启动詹金斯(默认容器捆绑詹金斯战争),请使用以下命令:

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

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

netstat -ano | find "9090"

其更好地在Tomcat运行詹金斯。

+1

谢谢! “java -jar jenkins.war --ajp13Port = -1 --httpPort = 9090” - >这个命令保存了我的一天 –

0

我有类似的问题,试图升级詹金斯,因为它是问,但随后的Windows服务将无法启动,其他的东西是在端口8080上运行的横空java.exe进程的一个实例之后,我杀了它在任务管理器中都开始很好地工作。

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

这是真正有用的,我当我詹金斯安装过程中面临着不同的异常使用。

相关问题