12

我遇到了无法访问全新安装的 Jenkins 的问题。这是错误和操作系统详细信息:启动 jenkins 后会出现“OK”状态消息,但是如果我运行 status-all | grep jenkins 结果:

jenkins dead but pid file exists

在 Red Hat Enterprise Linux Server 版本 6.2 (Santiago) 上运行,并将 Yum 作为包管理器。

rpm -qa | grep java

java-1.7.0-openjdk-1.7.0.19-2.3.9.1.el6_4.x86_64
java-1.6.0-openjdk-1.6.0.0-1.61.1.11.11.el6_4.x86_64
tzdata-java-2011l-4.el6.noarch
libvirt-java-0.4.7-1.el6.noarch
libvirt-java-devel-0.4.7-1.el6.noarch
java-1.6.0-openjdk-devel-1.6.0.0-1.61.1.11.11.el6_4.x86_64

权限是:

ls -la /var/lib/jenkins/
total 8
drwxr-xr-x   2 jenkins jenkins 4096 Aug 27 00:21 .
drwxr-xr-x. 29 root    root    4096 Aug 27 14:47 ..

以前有没有人解决过这个问题?

4

17 回答 17

12

更改JENKINS_AJP_PORT="8009"(或任何值)为JENKINS_AJP_PORT="-1"

它肯定会起作用。

于 2014-07-07T05:26:09.403 回答
10

在遵循有关使用 Jenkins 和 Amazon ECS 设置构建管道的AWS 教程时,我遇到了完全相同的错误。

更改端口并没有解决问题。

我发现错误来自 Jenkins 安装的 Java 版本。

将 java-1.7.0-openjdk 更新为 java-1.8.0-openjdk 成功了

编辑:从 Anatoly 评论,更新 java:

sudo yum install java-1.8.0-openjdk

然后删除旧版本:

sudo yum remove java-1.7.0-openjdk.x86_64

最后重启jenkins服务

sudo service jenkins restart
于 2017-06-19T00:30:40.240 回答
2

通常tomcat服务会接管8080端口。尝试停止 tomcat 服务并重新运行 jenkins 服务。

服务tomcat停止;

服务詹金斯开始

为我工作。

于 2015-11-02T13:36:08.447 回答
1

我遇到了同样的错误,我无法以任何方式重新启动实例。

我在服务器中进行了“yum update”并解决了问题。

  • java版本“1.7.0_55”
  • 詹金斯版 1.571
于 2014-07-10T09:21:14.103 回答
1

刚刚在安装 RHEL 时遇到了这个问题。我的解决方法是显式设置 JENKINS_JAVA_CMD 配置参数。

例如

sudo vim /etc/sysconfig/jenkins
update:
    JENKINS_JAVA_CMD=""
to:
    JENKINS_JAVA_CMD="/usr/java/default/bin/java"
于 2015-03-26T15:01:33.957 回答
0

从日志中我的问题是 java.io.FileNotFoundException: /var/cache/jenkins/war/META-INF/MANIFEST.MF (Permission denied)

我的用户 Jenkins 将所有权切换到“jenkins”,chown'ing 解决了这个问题

于 2015-02-25T12:44:49.093 回答
0

请按以下步骤进行更改(假设-您要将端口 8888 设置为 jenkins 端口)

1.您必须编辑/etc/init.d/jenkins。

在 DAEMON_ARGS 之后的文件顶部添加以下两行:

HTTP_PORT=8888 JENKINS_ARGS="--httpPort=$HTTP_PORT"

2.编辑/etc/sysconfig/jenkins

和改变

JENKINS_PORT="8888"

从终端使用以下命令启动 Jenkins 服务

service jenkins start

检查詹金斯的状态

service jenkins status
于 2014-11-23T07:45:25.767 回答
0

只是预感 - 默认情况下,RHEL/CentOS 在 /tmp 目录上禁用文件执行。

尝试:

mount -o remount,exec /tmp

然后(重新)启动 Jenkins。

这样就可以从 /tmp/ 目录执行二进制文件(也可以加载 .so 文件),看起来 Jenkins 的这种特殊打包需要加载某种 JNI 代码。当我尝试在 CentOS 6.4 上安装和运行时,这是我遇到的唯一问题。

如果可行,那么您可以设置它,以便在启动时使用 /etc/fstab 中的设置默认发生这种情况(可行但会降低系统的安全性),或者尝试破解您安装的启动过程(不推荐),或使用 Tomcat 或其他不需要在 /tmp 目录上执行文件的软件包安装它(推荐但更多工作)。

于 2013-08-28T18:06:56.320 回答
0

以下帮助了我:

有时会有一些过时的詹金斯进程,所以 ps -ef | grep jenkins 杀死所有这些并像上面那样重新启动它将是干净的。

ps -ef | grep jenkins
sudo kill -kill <pid>

取自这里(感谢@sharp)

于 2015-05-28T20:17:46.390 回答
0

当您的机器使用旧版本的 Java 升级 Java 和 Jenkins 时,也会出现这种情况。更改 jenkins.xml 中的 Java 路径。

于 2021-02-16T06:19:40.823 回答
0

尝试在 /etc/sysconfig/jenkins 中将用户从 jenkins 更改为 root

JENKINS_USER="root"

或者

检查所有权 /var/lib/jenkins /var/cache/jenkins

将所有权更改为 jenkins 并将 /etc/sysconfig/jenkins 中的用户更改为“jenkins”,它将起作用。还要改变所有权/var/logs/jenkins

于 2017-07-12T08:40:25.990 回答
0

确保jenkins.log文件的所有者是 jenkins 用户

chown jenkins:jenkins jenkins.log

如果没有正确的所有权,jenkins 一启动服务就会崩溃

于 2017-01-20T20:49:43.073 回答
0

对于上述错误,我设法转到 /var/run/jenkins.pid 并删除了一个已经存在的处理 ID。

然后 jenkins 进程启动并成功运行。

于 2016-06-14T07:27:45.257 回答
0

在以下文件中:

/etc/sysconfig/jenkins

我必须设置以下值:

JENKINS_USER="root"
于 2019-03-25T15:43:14.760 回答
0

我遇到的错误实际上是由于/var/run/jenkinsroot而不是jenkins用户拥有的事实。以下为我解决了这个问题:

sudo chown -R jenkins:jenkins /var/run/jenkins
于 2018-02-15T15:37:05.520 回答
0
cd /etc/sysconfig/jenkins

更改 JENKINS_AJP_PORT

改变它从

JENKINS_AJP_PORT="8009"

JENKINS_AJP_PORT="-1"
于 2016-04-07T09:48:38.807 回答
-1
sudo vim /etc/sysconfig/jenkins
     update:
       JENKINS_USER="jenkins"
        to:


    JENKINS_USER="root"

为我工作

于 2016-07-06T05:06:45.750 回答