Ubuntu

無法訪問 Jenkins 伺服器

  • June 23, 2017

我正在嘗試在我的 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_HOST0.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_ARGSx.x.x.x伺服器的外部 IP 地址在哪裡)。

引用自:https://serverfault.com/questions/558631