我正在尝试在我的 Web 服务器上安装Jenkins,这是一个在 Amazon EC2 实例上运行的 Ubuntu 13.10 服务器。我已经使用
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
我只是得到一个“糟糕!谷歌浏览器无法连接”页面,甚至没有 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 端口。
我尝试的另一项检查是通过 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 地址在哪里)。