Ubuntu
無法訪問 Jenkins 伺服器
我正在嘗試在我的 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
我只是得到一個“糟糕!Google瀏覽器無法連接”頁面,甚至沒有 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 地址在哪裡)。