Amazon EC2インスタンスで実行されているUbuntu 13.10サーバーであるWebサーバーに Jenkins をインストールしようとしています。私はジェンキンスを再起動しました
Sudo /etc/init.d/jenkins restart
プロセスをチェックすると
ps aux | grep jenkins
次の説明で複数のアイテムが実行されているのがわかります。
jenkins 22356 0.0 0.0 20268 400 ? S 10:10 0:00 /usr/bin/daemon --name=jenkins --inherit --env=JENKINS_HOME=/var/lib/jenkins --output=/var/log/jenkins/jenkins.log --pidfile=/var/run/jenkins/jenkins.pid -- /usr/bin/Java -jar /usr/share/jenkins/jenkins.war --webroot=/var/run/jenkins/war --httpPort=8080 --ajp13Port=-1 --httpListenAddress=127.0.0.1 --ajp13ListenAddress=127.0.0.1 --preferredClassLoader=Java.net.URLClassLoader
jenkins 22358 5.9 5.7 1618372 97376 ? Sl 10:10 0:17 /usr/bin/Java -jar /usr/share/jenkins/jenkins.war --webroot=/var/run/jenkins/war --httpPort=8080 --ajp13Port=-1 --httpListenAddress=127.0.0.1 --ajp13ListenAddress=127.0.0.1 --preferredClassLoader=Java.net.URLClassLoader
サーバーがこのインストールへのアクセスを許可したくないので、
x.x.x.x:8080
「おっと!Google Chrome接続できませんでした」ページが表示されるだけで、HTTPステータス404/500も表示されません。
/ var/log/jenkins/jenkins.logを確認してみましたが、問題はありません。再起動後のログ出力は次のとおりです。
Running from: /usr/share/jenkins/jenkins.war
Dec 02, 2013 10:10:07 AM winstone.Logger logInternal
INFO: Beginning extraction from war file
Jenkins home directory: /var/lib/jenkins found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
Dec 02, 2013 10:10:13 AM winstone.Logger logInternal
INFO: HTTP Listener started: port=8080
Dec 02, 2013 10:10:13 AM winstone.Logger logInternal
INFO: Winstone Servlet Engine v0.9.10 running: controlPort=disabled
Dec 02, 2013 10:10:14 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
Dec 02, 2013 10:10:14 AM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
Dec 02, 2013 10:10:14 AM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
Dec 02, 2013 10:10:14 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
Dec 02, 2013 10:10:14 AM jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
Dec 02, 2013 10:10:22 AM jenkins.InitReactorRunner$1 onAttained
INFO: Loaded all jobs
Dec 02, 2013 10:10:23 AM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Dec 02, 2013 10:10:23 AM hudson.TcpSlaveAgentListener <init>
INFO: JNLP slave agent listener started on TCP port 43315
Dec 02, 2013 10:10:23 AM hudson.WebAppMain$2 run
INFO: Jenkins is fully up and running
EC2セキュリティグループがポートをブロックすることに問題がある可能性があると考えていましたが、そのサーバーに割り当てられているセキュリティグループはHTTPインバウンド用に8080ポートを開いています。
私が試したもう1つのチェックは、サーバーにSSH接続し、Lynxを使用して、Jenkinsが実際にコンテンツを提供しているかどうかを確認することでした。訪問した http://localhost:8080
そして、期待通りにJenkinsページを表示していました。
何か案は?
編集2
Amazon EC2インスタンスでJenkinsを実行している場合は、HTTP_Host
を0.0.0.0
に設定してみてください。パブリックインターフェイスIPを直接バインドできない場合があります。
編集1
/etc/default/jenkins
パッケージから直接インストールした場合は、代わりに.deb
を確認してください。
Jenkinsがlocalhost(--httpListenAddress=127.0.0.1
)をリッスンしているようです。この構成では、Jenkinsはネットワークインターフェースからの接続をリッスンしていません。
Ubuntuを解決するには、/etc/init/jenkins.conf
の内容を確認し、--httpListenAddress=x.x.x.x
をJENKINS_ARGS
に追加します(x.x.x.x
はサーバーの外部IPアドレスです)。