21

私はジェンキンスを使用していますが、昨日から機能しなくなりました。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
4

9 に答える 9

30

修正済み - 将来この問題が発生する可能性がある他のユーザー向け。私はこのTechrepublic の記事を使用しました。

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

どのプロセスがポート 8080 を使用しているかを調べて、タスク マネージャーで強制終了し、Jenkins を再起動したところ、すべてうまくいきました (これまでのところ!)。

于 2012-05-17T09:44:18.530 に答える
20

WinStone コンテナー (Jenkins war にバンドルされている既定のコンテナー) で Jenkins を起動するには、次のコマンドを使用します。

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

また、特定のポートが Windows で使用されるアプリケーションによって使用されているかどうかを確認するには、次のようにします。

netstat -ano | find "9090"

Jenkins を Tomcat で実行することをお勧めします。

于 2016-06-04T12:52:35.937 に答える
4

エラー スタック トレースのように、ポート 8080 が既に使用されていることが示されています。ポート 8080 が使用されている場所を確認するか、代わりに Jenkins.xml の Jenkins ポートを他の実行可能なポートに変更します。

于 2013-11-20T01:53:23.200 に答える