2012-05-17 15 views
18

私はJenkinsを使用していますが、昨日から動作を停止しています。私はWindowsサービスを見て、何とか停止していました。私はそれを再開したが、すぐに停止した。Jenkinsは起動しません:ポート8080でリッスンできません

サービスが実行されているディレクトリ(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 
+2

エラーログは、ポート8080がすでに別のJVMプロセスにバインドされていると主張しているため、このアドレスに対して 'telnet 'しようとしましたが、何が応答していますか? – Filburt

+1

どうすればいいですか? –

答えて

28

固定 - 将来この問題があるかもしれない他の人のために。私はアウトプロセスがポート8080を使用した検索方法を見つけるために

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

に沸くこのTechrepublic articleを使用して、タスクマネージャでそれを殺害した後、ジェンキンスを再起動し、すべてがうまくだった(今のところ!)。

+1

+1 ...またはこの方法。 – Filburt

+2

Javaプロセスが正しく閉じられなかったJenkinsを再起動しようとした後に発生する可能性があります。** Javaプロセス**を手動で強制終了し**、手動でJenkinsサービスを再起動してください。 –

3

エラースタックトレースと同様に、ポート8080が既に使用されていること、ポート8080が使用されているかどうかを確認すること、またはJenkins.xmlのJenkinsポートを別の有効なポートに変更することが挙げられます。ウィンストン・コンテナにジェンキンスを開始するには

16

(デフォルトコンテナがジェンキンス戦争に同梱)次のコマンドを使用します。特定のポートは、Windowsで任意のアプリケーションを使用して使用されているかどうかを確認するために、また

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

を:

netstat -ano | find "9090"

その優れたTomcatでジェンキンスを実行します。

+1

ありがとう! "java -jar jenkins.war --ajp13Port = -1 --httpPort = 9090" - >このコマンドは私の日を保存しました –

0

私は同様の問題を抱えていましたが、ジェンキンスは質問したとおりにアップグレードしようとしましたが、Windowsサービスが開始されず、ポート8080で実行されていました。タスクマネージャーのすべてがうまく動作し始めました。

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

これは私がジェンキンスのインストール時に別の例外に直面していたとき、私が使用していること、本当に便利です。

関連する問題