我遇到了无法访问全新安装Jenkins的问题。这是错误和操作系统的详细信息:启动jenkins会导致“OK”状态消息,但是如果我运行status-all | grep jenkins导致:
jenkins dead but pid file exists
使用Yum作为程序包管理器在Red Hat Enterprise Linux Server 6.2(Santiago)上运行。
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 ..
以前有人解决过这个问题吗?
答案 0 :(得分:10)
将JENKINS_AJP_PORT="8009"
(或任何值)更改为JENKINS_AJP_PORT="-1"
它肯定会起作用。
答案 1 :(得分:8)
在Set up a build pipeline with Jenkins and 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
答案 2 :(得分:2)
通常tomcat服务正在接管8080端口。 尝试停止tomcat服务并重新运行jenkins服务。
服务tomcat停止;
服务jenkins开始
为我工作。
答案 3 :(得分:1)
我遇到了同样的错误,我无法以任何方式重启实例。
我在服务器中进行了“yum update”并修复了问题。
答案 4 :(得分:1)
刚刚在RHEL安装时遇到过这个问题。对我来说,修复是明确设置JENKINS_JAVA_CMD配置参数。
E.g。
sudo vim /etc/sysconfig/jenkins
update:
JENKINS_JAVA_CMD=""
to:
JENKINS_JAVA_CMD="/usr/java/default/bin/java"
答案 5 :(得分:0)
当您的机器升级 Java 和较早版本安装的 Jenkins 时也会出现这种情况。 在 jenkins.xml 中更改 Java 路径。
答案 6 :(得分:0)
只是预感 - 默认情况下,RHEL / CentOS在/ tmp目录中禁用了文件执行。
尝试:
mount -o remount,exec /tmp
然后(重新)启动詹金斯。
这样可以从/ tmp /目录中执行二进制文件(也可以加载.so文件),看起来像Jenkins的这个特殊包装需要加载某种JNI代码。当我尝试在CentOS 6.4上安装和运行时,这是我唯一的问题。
如果可以,那么您可以设置它,以便在启动时使用/ etc / fstab中的设置(可行但可降低系统安全性)默认情况下发生这种情况,或者尝试破解安装的启动过程得到(不推荐),或者使用Tomcat或其他不需要在/ tmp目录上执行文件的包装来安装它(推荐但更多工作)。
答案 7 :(得分:0)
在以下文件中:
/etc/sysconfig/jenkins
我必须设置以下值:
JENKINS_USER="root"
答案 8 :(得分:0)
我遇到的错误实际上是因为/var/run/jenkins
由root而不是jenkins
用户拥有。以下为我解决了这个问题:
sudo chown -R jenkins:jenkins /var/run/jenkins
答案 9 :(得分:0)
尝试在/ etc / sysconfig / jenkins
中将用户从jenkins更改为rootJENKINS_USER="root"
OR
检查所有权
/var/lib/jenkins
/var/cache/jenkins
将所有权更改为jenkins并将/ etc / sysconfig / jenkins中的用户更改为" jenkins"它会工作。
同时更改/var/logs/jenkins
答案 10 :(得分:0)
确保jenkins.log
文件的所有者是jenkins用户
chown jenkins:jenkins jenkins.log
如果没有正确的所有权,jenkins会在您启动服务后立即崩溃
答案 11 :(得分:0)
对于上述错误,我设法转到/var/run/jenkins.pid并删除了现有的处理ID。
然后jenkins进程启动并且现在成功运行。
答案 12 :(得分:0)
cd /etc/sysconfig/jenkins
更改JENKINS_AJP_PORT
从
更改JENKINS_AJP_PORT="8009"
到
JENKINS_AJP_PORT="-1"
答案 13 :(得分:0)
以下帮助了我:
有些时候会有一些jenkins进程失效,所以ps -ef | grep jenkins杀死所有这些并重启,如上所述它将是干净的。
ps -ef | grep jenkins
sudo kill -kill <pid>
取自here(感谢@sharp)
答案 14 :(得分:0)
从日志中我的问题是 java.io.FileNotFoundException:/var/cache/jenkins/war/META-INF/MANIFEST.MF(Permission denied)
从我的用户Jenkins开始的所有权运行“jenkins”,chown'ing修复了问题
答案 15 :(得分:0)
请在以下步骤中进行更改(假设 - 您要将端口8888设置为jenkins端口)
<强> 1。你必须编辑/etc/init.d/jenkins。
在DAEMON_ARGS:
之后,在文件顶部添加以下两行HTTP_PORT = 8888 JENKINS_ARGS =&#34; - HTTPPORT = $ HTTP_PORT&#34;
2.编辑/ etc / sysconfig / jenkins
并更改
JENKINS_PORT =&#34; 8888&#34;
使用终端
中的以下命令启动Jenkins服务service jenkins start
检查詹金斯&#39;状态
service jenkins status
答案 16 :(得分:-1)
sudo vim /etc/sysconfig/jenkins
update:
JENKINS_USER="jenkins"
to:
JENKINS_USER="root"
为我工作