Jenkins 在 CentOS 上报错的原因非常多,不能一概而论,需要看具体的错误信息和场景。下面我按常见报错类型 + 原因 + 解决办法给你梳理一下,你可以对照看是哪一种。
jenkins: command not found
Job for jenkins.service failed
java: command not found
# 查看 Jenkins 要求的 Java 版本
rpm -q jenkins
# 安装 JDK(示例:Java 11)
yum install -y java-11-openjdk-devel
# 设置默认 Java
alternatives --config java
修改 Jenkins 的 Java 路径:
vim /etc/sysconfig/jenkins
# 修改
JENKINS_JAVA_CMD="/usr/lib/jvm/java-11-openjdk/bin/java"
Address already in use
Failed to listen on port 8080
# 查看端口占用
netstat -tunlp | grep 8080
# 修改 Jenkins 端口
vim /etc/sysconfig/jenkins
JENKINS_PORT="8090"
systemctl restart jenkins
Permission denied
/var/lib/jenkins: Permission denied
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/log/jenkins
systemctl restart jenkins
无声失败
服务启动了但网页打不开
# 临时关闭
setenforce 0
# 永久关闭
vim /etc/selinux/config
SELINUX=disabled
或修改策略(推荐生产):
setsebool -P httpd_can_network_connect 1
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
# 使用 Jenkins 官方源
wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
不要只看表面报错,一定要看日志:
systemctl status jenkins
journalctl -xe -u jenkins
cat /var/log/jenkins/jenkins.log
如果你愿意,可以把具体报错内容贴出来,比如:
systemctl status jenkins 输出我可以直接告诉你是哪一条导致的、怎么改 ✅