一. 本地虚拟机的缺点

本地虚拟机虽然也可以模拟服务器用,但电脑不能保证24小时都是开机的,一旦关机,服务就失去了连接,你将看到我们之前搭建的gitlab服务出现如下画面:

关闭gitlabrunner的ssl验证 关闭gitlab开机启动_操作系统

本地电脑7*24小时不关机是不现实的,但是可以保证,一旦虚拟机启动,服务也响应启动,而不是服务启动了,发现防火墙开机自启了,本地去访问gitlab时被拦截了,当关闭防火墙,又发现gitlab服务不是开机自动启动的,还需要手动敲一遍命令:



gitlab-ctl start



这显然是不合理的,下面我们谈谈如何开闭防火墙开机自启动和设置gitlab开机自启动

二. 关闭防火墙开机自启动

网上有很多方法来查看防火墙的状态:



service iptables status



输入上面命令,查看防火墙的状态,如看到ACCEPT、REJECT,说明防火墙服务正在运行

关闭gitlabrunner的ssl验证 关闭gitlab开机启动_操作系统_02

当然也可以使用chkconfig命令查看系统服务的运行级信息

关闭gitlabrunner的ssl验证 关闭gitlab开机启动_开机自启动_03

这里需要说明一下chkconfig的6个运行级别:



0  停机,机器关闭(千万不要把initdefault设置为0)
1  单用户模式,类似windows下的安全模式
2  多用户模式,但是没有NFS支持
3  完整的多用户模式,是标准的运行级
4  一般不用,在一些特殊情况下可以用它做一些事情、例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置
5  就是X11,进入到 X Window系统了
6  重启(千万不要把initdefault设置为6)



如何永久性的关闭防火墙?使用如下命令:



chkconfig iptables off



其实这时候使用 service iptables status查看,还可以看到服务在运行

关闭gitlabrunner的ssl验证 关闭gitlab开机启动_重启_04

chkconfig却显示服务都是关闭状态,这是为什么?

关闭gitlabrunner的ssl验证 关闭gitlab开机启动_操作系统_05

因为chkconfig不是立即自动禁止或者启动某一个服务,它只是简单地改变了符号链接

reboot重启一下,再查看防火墙状态,发现禁止开机自启动生效了

关闭gitlabrunner的ssl验证 关闭gitlab开机启动_开机自启动_06

3. 设置gitlab服务开机自启动

/etc/rc.d/rc.local,这是设置开机自启动的配置文件。这个文件会在用户登陆之前读取,这个文件中写入了什么命令,在每次系统启动时都会执行一次

那么直接写入gitlab启动命令: gitlab-ctl start行不行?建议要写全路径

关闭gitlabrunner的ssl验证 关闭gitlab开机启动_操作系统_07

当你不知道gitlab-ctl全路径的时候,用whereis命令可以查看:

关闭gitlabrunner的ssl验证 关闭gitlab开机启动_开机自启动_08

这里为什么会有两个路径,可以 ls -l 查看一下

关闭gitlabrunner的ssl验证 关闭gitlab开机启动_操作系统_09

恍然大悟,原来/usr/bin开头的全路径是指向/opt开头的软连接,这时候将目标链接写入配置文件即可

 

 

 

参考文章

详解centos6和centos7防火墙的关闭