启动jenkins服务错误

背景

重新安装了jenkins,需要启动,使用的yum install安装的,启动jenkins的话只需要执行service jenkins start,但出了两个问题

1. 是提示找不到java

2. 设置好了java后,提示没有权限

提示如下:

Starting Jenkins bash: /usr/bin/java: No such file or directory

starting jenkins bash /usr/bin/java permission denied

 

解决步骤

1. 第一个问题,Jenkins bash: /usr/bin/java: No such file or directory

这个问题比较好解决,因为没有配置好jdk导致的,重新安装jdk,配置好环境变量就行

2. 第二个问题,starting jenkins bash /usr/bin/java permission denied

权限问题的话,首先是添加权限,于是执行

chmod a+x /usr/bin/java

执行后,问题还在,继续google有这么一个解释:

You have two options to solve the problem.

1. Jenkins service is started by jenkins user. The error says that jenkins user does not have permission to run java. So check orginal java path and give execute permissions to other users.
2. In jenkins.service unit file, change the owner of the service. Replace User=jenkins with User=root

第一种就是修改权限,但一开始就是这么做的还是不能解决这个问题,猜测这里是涉及到了文件权限和文件夹权限的原因,有文件权限了的,但不一定有文件夹权限

第二种就是需要修改jenkins的启动用户,因为jenkins的配置中默认是以jenkins这个用户去启动jenkins服务的,所以需要修改/etc/sysconfig/jenkins里面的内容,将user=jenkins修改为user=root,就是用root去启动jenkins

不推荐修改用户的方式来解决该问题,但这样确实可以解决

那么为啥第一种方式不行呢,猜测是文件夹目录权限的问题,于是尝试移动jdk的目录,因为我当时jdk是配置在一个用户下面,比如是jwen,当时jdk的home目录是:/home/jwen/local/jdk8

猜测是因为jwen用户的原因导致jenkins用户无法执行java文件,

mv /home/jwen/local/jdk8 /usr/local/

移动到公共目录,就是跟用户没有关系

然后修改配置文件,重新加载配置文件:

# 修改配置文件
vim /etc/profile

# 重新加载
source /etc/profile

成功了,jenkins启动了

 

小结

软件的安装别TM蛋疼的放在某个用户下面

posted @ 2018-01-05 21:21  whendream  阅读(12122)  评论(1编辑  收藏  举报