2012-05-17 80 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 

這是真正有用的,我當我詹金斯安裝過程中面臨着不同的異常使用。

相關問題