如果你是使用tomcat容器去启动jenkins的话,直接修改tomcat的端口号,NGINX代理能够成功。
以下是安装版的修改逻辑:
jenkins安装版,默认启动的时候,用的端口号为8080端口,无前缀,相当于运行本地http://127.0.0.1/8080就能访问jenkins
想要更改jenkins端口号的话,修改/etc/sysconfig/jenkins文件。 JENKINS_PORT参数(例如:JENKINS_PORT="8081")
## Type: integer(0:65535)
## Default: 8080
## ServiceRestart: jenkins
#
# Port Jenkins is listening on.
# Set to -1 to disable
#
JENKINS_PORT="8001"
可以看到文件中的配置,default是8080。
---------------代理配置修改
如果只修改了端口号,或者不修改端口号去做代理的话,会发现所有静态资源无法加载
例如:
域名为test.jenkins,nginx配置如下
location /jenkins {
proxy_pass http://jenkins/jenkins;
}
使用https://test.jenkins/jenkins的话,会发现静态资源加载URL为http://test.jenkins/static/******,所有静态资源加载失败了
看jenkins的界面引用
<link rel="stylesheet" href="/static/54538c3f/css/layout-common.css" type="text/css">
没有前缀,就像我们访问一样直接访问到了端口地址
这种时候,可以直接找到jenkins所在的jar通过java的方式去启动war包
java -jar jenkins.war --prefix="jenkins"
也可以修改
/etc/sysconfig/jenkins文件
JENKINS_ARGS="--prefix=/jenkins"
在centos7的环境下,修改成功后 service jenkins restart就可以成功执行,nginx代理也不会出错了
可以看到jenkins的引用变成了
<link rel="stylesheet" href="/jenkins/static/54538c3f/css/layout-common.css" type="text/css">
如果有写错的地方,欢迎指出。