通过Apache在网页上显示Jenkins
首先
我們在業務中使用Jenkins,有人問「端口一定要是8080嗎?」,我回答說「確實沒有必要是8080」。於是,我們考慮用Apache來通過80端口顯示Jenkins,並決定藉此機會「讓我們通過Apache來顯示Jenkins吧」。
安装环境
设置环境如下所示。
Jenkins的设置
使用yum设置Jenkins。设置将通过yum进行。
为了通过yum安装,需要获取Jenkins的存储库。
# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
# yum install jenkins
如果未安装Java,则需要安装Java。
# yum install java
启动Jenkins服务。
# systemctl start jenkins
# systemctl enable jenkins
使用网络浏览器访问”http://IP地址:8080″。
根据显示在屏幕上的内容进行设置。
进行反向代理设置
将Jenkins的URL进行更改。
# vi /etc/sysconfig/jenkins
・・・・
#以下の行を修正
JENKINS_ARGS="--prefix=/jenkins”
・・・・
安装httpd。
# yum install -y httpd
我将进行反向代理的设置。
# cat /etc/httpd/conf.d/jenkins.conf
ProxyPass /jenkins http://localhost:8080/jenkins nocanon
ProxyPassReverse /jenkins http://localhost:8080/jenkins
ProxyRequests Off
AllowEncodedSlashes NoDecode
<Proxy http://localhost:8080/jenkins*>
Order deny,allow
Allow from all
</Proxy>
启动httpd
# systemctl start httpd
# systemctl enable httpd
通过网络浏览器访问”http://IP地址:8080″。
登录Jenkins并点击管理。
点击管理界面中的系统设置。
将Jenkins的URL更改为”http://IP地址:8080/jenkins”。
我要重新启动Jenkins。
# systemctl restart jenkins
如果能够通过Web浏览器访问”http://IP地址/jenkins”并显示Jenkins界面,那么配置就完成了。
请注意的要点
在进行反向代理的设置过程中,我遇到了以下问题,请看下文:
当SELinux处于启用状态时,无法显示Jenkins。
如果在访问”http://IP地址/jenkins”时无法显示Jenkins页面,
那么可能是由于SELinux已启用,您可以尝试禁用SELinux。
# setenforce 0
# getenforce
Permissive
# systemctl restart httpd
当访问Jenkins时,会因为反向代理的设置有问题而引发怒气。
点击Jenkins的管理选项时,弹出了一个警告:“反向代理设置似乎有问题。”根据下面URL的文章,我将Jenkins的URL更改为”http://IP地址/jenkins”后,警告就不再出现了。另外,还有一个地方需要检查,可以参考“Jenkins says my reverse proxy setup is broken”。
总结
因为在Jenkins的页面上也简单地总结了,所以我们能够轻松地设置反向代理。而且反向代理本身的设置也不复杂,所以如果有机会的话,我想再次尝试一下设置它。
请引用此文献。
「Jenkins说我的反向代理设置有问题」 还需要在 Apache 模块 mod_proxy 上进行一次确认。