Jenkins 在 CentOS 上启动失败 的原因比较常见,通常不是单一问题。下面我按最常见原因 → 排查方法 → 解决方案给你系统性说明。
Jenkins 强依赖 Java
java -version
jenkins: command not found
java.lang.UnsupportedClassVersionError
# 安装 Java 17(推荐)
sudo yum install -y java-17-openjdk java-17-openjdk-devel
# 确认
java -version
systemctl status jenkins
journalctl -u jenkins -xe
Failed to start Jenkins Continuous Integration Server
Job for jenkins.service failed
Jenkins 默认使用 8080
ss -lntp | grep 8080
✅ 修改端口:
vim /usr/lib/systemd/system/jenkins.service
修改:
Environment="JENKINS_PORT=8081"
然后:
systemctl daemon-reload
systemctl restart jenkins
Permission denied
chown -R jenkins:jenkins /var/lib/jenkins
chmod -R 755 /var/lib/jenkins
Cannot allocate memory
增加内存,或减少 Jenkins JVM 内存:
vim /etc/sysconfig/jenkins
修改:
JENKINS_JAVA_OPTIONS="-Xms256m -Xmx512m"
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
setenforce 0
# 1. 查看状态
systemctl status jenkins
# 2. 查看详细日志
journalctl -u jenkins -xe
# 3. 查看 Jenkins 日志
cat /var/log/jenkins/jenkins.log
# 4. 检查 Java
java -version
# 5. 检查端口
ss -lntp | grep 8080
| 问题 | 说明 |
|---|---|
| CentOS 7 已 EOL | YUM 源失效,需换 vault |
| Jenkins 新版本 | 不再支持 Java 8 |
| systemd | 必须 daemon-reload |
如果你愿意,请直接贴出以下 任意一条内容:
1️⃣ systemctl status jenkins
2️⃣ /var/log/jenkins/jenkins.log 最后 30 行
3️⃣ java -version 输出
我可以 精确告诉你是哪一行导致启动失败,并给你对应命令。