一. 本地虛擬機的缺點
本地虛擬機雖然也可以模擬服務器用,但電腦不能保證24小時都是開機的,一旦關機,服務就失去了連接,你將看到我們之前搭建的gitlab服務出現如下畫面:
本地電腦7*24小時不關機是不現實的,但是可以保證,一旦虛擬機啟動,服務也響應啟動,而不是服務啟動了,發現防火牆開機自啟了,本地去訪問gitlab時被攔截了,當關閉防火牆,又發現gitlab服務不是開機自動啟動的,還需要手動敲一遍命令:
gitlab-ctl start
這顯然是不合理的,下面我們談談如何開閉防火牆開機自啟動和設置gitlab開機自啟動
二. 關閉防火牆開機自啟動
網上有很多方法來查看防火牆的狀態:
service iptables status
輸入上面命令,查看防火牆的狀態,如看到ACCEPT、REJECT,說明防火牆服務正在運行
當然也可以使用chkconfig命令查看系統服務的運行級信息
這里需要說明一下chkconfig的6個運行級別:
0 停機,機器關閉(千萬不要把initdefault設置為0) 1 單用戶模式,類似windows下的安全模式 2 多用戶模式,但是沒有NFS支持 3 完整的多用戶模式,是標准的運行級 4 一般不用,在一些特殊情況下可以用它做一些事情、例如在筆記本電腦的電池用盡時,可以切換到這個模式來做一些設置 5 就是X11,進入到 X Window系統了 6 重啟(千萬不要把initdefault設置為6)
如何永久性的關閉防火牆?使用如下命令:
chkconfig iptables off
其實這時候使用 service iptables status查看,還可以看到服務在運行
chkconfig卻顯示服務都是關閉狀態,這是為什么?
因為chkconfig不是立即自動禁止或者啟動某一個服務,它只是簡單地改變了符號鏈接
reboot重啟一下,再查看防火牆狀態,發現禁止開機自啟動生效了
3. 設置gitlab服務開機自啟動
/etc/rc.d/rc.local,這是設置開機自啟動的配置文件。這個文件會在用戶登陸之前讀取,這個文件中寫入了什么命令,在每次系統啟動時都會執行一次
那么直接寫入gitlab啟動命令: gitlab-ctl start行不行?建議要寫全路徑
當你不知道gitlab-ctl全路徑的時候,用whereis命令可以查看:
這里為什么會有兩個路徑,可以 ls -l 查看一下
恍然大悟,原來/usr/bin開頭的全路徑是指向/opt開頭的軟連接,這時候將目標鏈接寫入配置文件即可
參考文章