背景
重新安装了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蛋疼的放在某个用户下面
虽千万人,吾往矣!