在 CentOS 下 Jenkins 启动失败 是非常常见的问题,原因通常集中在 Java 环境、端口冲突、权限、系统服务配置 等方面。下面按「最常见 → 较少见」帮你系统排查。
# systemd 方式
journalctl -u jenkins -xe
# 或直接看日志
cat /var/log/jenkins/jenkins.log
⚠️ 90% 的问题都能在日志里看到明确原因
Jenkins 必须依赖 Java
java -version
✅ 推荐版本:
yum install -y java-11-openjdk-devel
vim /etc/sysconfig/jenkins
修改:
JENKINS_JAVA_CMD=/usr/bin/java
netstat -tunlp | grep 8080
如果占用:
vim /etc/sysconfig/jenkins
JENKINS_PORT="8090"
或修改:
vim /usr/lib/systemd/system/jenkins.service
ls -ld /var/lib/jenkins
ls -ld /var/log/jenkins
修复权限:
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/log/jenkins
getenforce
如果是 Enforcing:
setenforce 0
临时测试,若成功,说明是 SELinux 问题
永久解决:
vim /etc/selinux/config
SELINUX=permissive
df -h
Jenkins 启动需要磁盘空间,尤其是 /var/lib/jenkins
systemctl status jenkins
常见问题:
jenkins.service 文件损坏重新加载:
systemctl daemon-reload
systemctl restart jenkins
sudo -u jenkins java -jar /usr/lib/jenkins/jenkins.war
如果能启动,说明是 系统服务配置问题
| 错误信息 | 原因 |
|---|---|
Java not found |
Java 未安装 |
Permission denied |
权限问题 |
Address already in use |
端口冲突 |
Failed to start Jenkins |
systemd / Java 配置 |
OutOfMemoryError |
内存不足 |
我可以精准定位问题,你只需要提供:
journalctl -u jenkins -xe 输出cat /var/log/jenkins/jenkins.logcat /etc/redhat-release)我可以直接告诉你 是哪一行导致启动失败 ✅