一. 本地虚拟机的缺点

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

centos防火墙打不开 centos开机启动防火墙_linux 6.8防火墙自动启

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

gitlab-ctl start

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

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

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

service iptables status

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

centos防火墙打不开 centos开机启动防火墙_开机自启动_02

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

centos防火墙打不开 centos开机启动防火墙_git_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查看,还可以看到服务在运行

centos防火墙打不开 centos开机启动防火墙_开机自启动_04

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

centos防火墙打不开 centos开机启动防火墙_重启_05

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

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

centos防火墙打不开 centos开机启动防火墙_centos防火墙打不开_06

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

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

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

centos防火墙打不开 centos开机启动防火墙_git_07

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

centos防火墙打不开 centos开机启动防火墙_重启_08

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

centos防火墙打不开 centos开机启动防火墙_git_09

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