linux - Jenkins 拒绝连接 8080 端口

标签 linux jenkins

<分区>

我在 Ubuntu 服务器上配置了 Jenkins,近 2 个月一切正常,Jenkins 正在构建作业并运行测试用例。但是最近我增加了它的测试用例数量。一段时间后,当我通过网络浏览器打开 Jenkins 时,它开始拒绝连接。

IP:8080 给出错误“连接被拒绝”。

我尝试通过以下方式重启 Jenkins 服务:

sudo service jenkins restart

它正常重启,但是,jenkins 仍然没有在浏览器上打开。

然后我查看了/etc/default/jenkins中jenkins的默认设置:

# defaults for jenkins continuous integration server
# pulled in from the init script; makes things easier.
NAME=jenkins

# location of java
JAVA=/usr/bin/java

# arguments to pass to java
JAVA_ARGS="-Djava.awt.headless=true"  # Allow graphs etc. to work even when an X server is present
JAVA_ARGS="-Xmx1024m"
#JAVA_ARGS="-Djava.net.preferIPv4Stack=true" # make jenkins listen on IPv4 address

PIDFILE=/var/run/$NAME/$NAME.pid

# user and group to be invoked as (default to jenkins)
JENKINS_USER=$NAME
JENKINS_GROUP=$NAME

# location of the jenkins war file
JENKINS_WAR=/usr/share/$NAME/$NAME.war

# jenkins home location
JENKINS_HOME=/var/lib/$NAME

# set this to false if you don't want Hudson to run by itself
# in this set up, you are expected to provide a servlet container
# to host jenkins.
RUN_STANDALONE=true

# log location.  this may be a syslog facility.priority
JENKINS_LOG=/var/log/$NAME/$NAME.log
#JENKINS_LOG=daemon.info

# OS LIMITS SETUP
#   comment this out to observe /etc/security/limits.conf
#   this is on by default because http://github.com/jenkinsci/jenkins/commit/2fb288474e980d0e7ff9c4a3b768874835a3e92e
#   reported that Ubuntu's PAM configuration doesn't include pam_limits.so, and as a result the # of file
#   descriptors are forced to 1024 regardless of /etc/security/limits.conf
MAXOPENFILES=8192

# set the umask to control permission bits of files that Jenkins creates.
#   027 makes files read-only for group and inaccessible for others, which some security sensitive users
#   might consider benefitial, especially if Jenkins runs in a box that's used for multiple purposes.
#   Beware that 027 permission would interfere with sudo scripts that run on the master (JENKINS-25065.)
#
#   Note also that the particularly sensitive part of $JENKINS_HOME (such as credentials) are always
#   written without 'others' access. So the umask values only affect job configuration, build records,
#   that sort of things.
#
#   If commented out, the value from the OS is inherited,  which is normally 022 (as of Ubuntu 12.04,
#   by default umask comes from pam_umask(8) and /etc/login.defs

# UMASK=027

# port for HTTP connector (default 8080; disable with -1)
HTTP_PORT=8080


# servlet context, important if you want to use apache proxying  
PREFIX=/$NAME

# arguments to pass to jenkins.
# --javahome=$JAVA_HOME
# --httpPort=$HTTP_PORT (default 8080; disable with -1)
# --httpsPort=$HTTP_PORT
# --argumentsRealm.passwd.$ADMIN_USER=[password]
# --argumentsRealm.roles.$ADMIN_USER=admin
# --webroot=~/.jenkins/war
# --prefix=$PREFIX

JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT"

此文件中的一切似乎都很好,war 文件也在给定位置。

当我重新启动服务器 3-4 次后,它又开始打开了。但是这个问题还是一次又一次的来。每次打开 Jenkins 都必须重启服务器。

谁能帮我找到这个问题并告诉我如何解决它。

最佳答案

我在 AWS EC2 上运行 Jenkins 时收到此错误并尝试从外部访问它(在我的例子中是来自内部网络的一个实例)。

当我从 Jenkins 服务器内部运行 curl localhost:8080 时,一切都很好,但是当我从内部网络的一个实例中执行相同的操作时,我得到了提到的 refused to连接端口 8080 错误。

解决方案是 vim/etc/sysconfig/jenkins 并更改:

JENKINS_LISTEN_ADDRESS="127.0.0.1"

收件人:

JENKINS_LISTEN_ADDRESS="0.0.0.0"

关于linux - Jenkins 拒绝连接 8080 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44858275/

相关文章:

linux - 是否有任何标准机制或约定来防止 Bash 环境变量名称冲突?

linux - 禁止来自 VPN 的流量

jenkins - Jenkins 可以用命令行(不是 GUI)安装吗?

Jenkins 工作流程检查作业是否正在运行或已计划

java - Jenkins JRE 更新

json - Jenkins Groovy 解析 json

linux - Ushare 重新扫描文件系统而不重新启动

php - 使用 php 运行外部程序

linux - openfst-1.6.5 交叉编译失败

Jenkins - 在同一 View 中显示多个多分支管道的所有主分支