由于linux硬盘空间不足,我就清理了一些日志文件,可能删除了jenkins日志目录/var/log/jenkins,然后systemctl start jenkins一直无法启动,而且日志也没有更多的错误信息报出来:
[root@jenkins ~]# systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: active (exited) since Sun 2018-08-26 23:03:42 CST; 2h 14min ago
Docs: man:systemd-sysv-generator(8)
Process: 986 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/jenkins.service
└─1387 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true ...
Aug 26 23:03:41 jenkins.local systemd[1]: Starting LSB: Jenkins Automation Server...
Aug 26 23:03:41 jenkins.local runuser[1007]: pam_unix(runuser:session): session opened for user r...=0)
Aug 26 23:03:42 jenkins.local jenkins[986]: Starting Jenkins [ OK ]
Aug 26 23:03:42 jenkins.local systemd[1]: Started LSB: Jenkins Automation Server.
在网上查了资料后发现,可能是jenkins默认系统用户jenkins没有权限创建所需的日志目录,导致无法启动。
vim /etc/sysconfig/jenkins
JENKINS_USER="jenkins"
将jenkins用户改为root ,详见:https://my.oschina.net/closeday/blog/1612910
JENKINS_USER="root"
能正常启动服务。
另外一种方法是对jenkins用户授权:
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/cache/jenkins
chown -R jenkins:jenkins /var/log/jenkins
systemctl restart jenkins
详见:https://stackoverflow.com/questions/42607771/jenkins-active-exited