jenkins启动后,未监听端口8080(java.io.FileNotFoundException: /var/cache/jenkins/war/META-INF/MANIFEST.MF)

说下背景:

使用systemctl start jenkins后,再使用lsof -i:8080查看端口状态(也可以使用netstat -tunlp|grep 8080),并没有信息,也就是没有监听8080端口(我的是8080,看自己的而定)。

查找原因

OK,遇见问题我们就解决问题,我们先来看下jenkins的日志:

#进入jenkins日志目录
cd /var/log/jenkins
#查看日志
cat jenkins.log

可以看到日志有报错,我们可以清楚看到java.io.FileNotFoundException: /var/cache/jenkins/war/META-INF/MANIFEST.MF (Permission denied),Permission denied的意思就是没有权限,到这里我们就找到原因了,就是没有把 /var/cache/jenkins的权限赋予给用户,解决办法就是给用户赋权,不想看日志的可直接看最下面的解决办法。

报错摘要如下:

2020-04-16 03:09:31.292+0000 [id=1]	WARNING	winstone.Logger#logInternal: Failed to delete dirs /var/cache/jenkins/war
java.nio.file.AccessDeniedException: /var/cache/jenkins/war
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
	at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
	at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:108)
	at java.nio.file.Files.deleteIfExists(Files.java:1165)
	at winstone.HostConfiguration.deleteRecursive(HostConfiguration.java:330)
	at winstone.HostConfiguration.getWebRoot(HostConfiguration.java:265)
	at winstone.HostConfiguration.<init>(HostConfiguration.java:84)
	at winstone.HostGroup.initHost(HostGroup.java:66)
	at winstone.HostGroup.<init>(HostGroup.java:45)
	at winstone.Launcher.<init>(Launcher.java:167)
	at winstone.Launcher.main(Launcher.java:355)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at Main._main(Main.java:375)
	at Main.main(Main.java:151)
	
2020-04-16 03:09:31.360+0000 [id=1]	SEVERE	winstone.Logger#logInternal: Container startup failed	
java.io.FileNotFoundException: /var/cache/jenkins/war/META-INF/MANIFEST.MF (Permission denied)
	at java.io.FileOutputStream.open0(Native Method)
	at java.io.FileOutputStream.open(FileOutputStream.java:270)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
	at winstone.HostConfiguration.getWebRoot(HostConfiguration.java:299)
	at winstone.HostConfiguration.<init>(HostConfiguration.java:84)
	at winstone.HostGroup.initHost(HostGroup.java:66)
	at winstone.HostGroup.<init>(HostGroup.java:45)
	at winstone.Launcher.<init>(Launcher.java:167)
	at winstone.Launcher.main(Launcher.java:355)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at Main._main(Main.java:375)
	at Main.main(Main.java:151)

解决办法:

添加用户并修改jenkins用户(已添加过的不用添加):

#添加用户,自定义名称即可
useradd qixingcxy
#修改jenkins配置,修改为刚添加的用户
vim /etc/sysconfig/jenkins
找到JENKINS_USER修改为JENKINS_USER="qixingcxy"

为用户赋权(下面三个缺一个可能就会报错):

#chown将指定文件的拥有者改为指定的用户或组,chown[选项]...[所有者][:[组]]文件
chown -R qixingcxy:qixingcxy /var/lib/jenkins
chown -R qixingcxy:qixingcxy /var/log/jenkins
chown -R qixingcxy:qixingcxy /var/cache/jenkins
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值