Linux軟體安裝——服務管理 摘要:本文主要學習了Linux中有關服務管理的知識。 什麼是服務 服務一般是放置在後臺運行的一個或多個進分程,為用戶或系統提供某項特定的服務,有些是系統服務,有些則是獨立的網路服務。 對於這些服務,我們可以通過運行主程式來啟動或關閉服務,也可以通過系統提供的servi ...
Linux軟體安裝——服務管理
摘要:本文主要學習了Linux中有關服務管理的知識。
什麼是服務
服務一般是放置在後臺運行的一個或多個進分程,為用戶或系統提供某項特定的服務,有些是系統服務,有些則是獨立的網路服務。
對於這些服務,我們可以通過運行主程式來啟動或關閉服務,也可以通過系統提供的service和chkconfig來管理。
服務的分類
Linux中的服務按照安裝方法不同可以分為RPM包預設安裝的服務和源碼包安裝的服務兩大類。
其中,RPM包預設安裝的服務又因為啟動與自啟動管理方法不同分為獨立的服務和基於xinetd的服務。
RPM包
RPM包預設安裝的服務。這些服務是通過RPM包安裝的,可以被服務管理命令識別。這些服務又可以分為兩種:
1)獨立的服務
就是獨立啟動的意思,這種服務可以自行啟動,而不用依賴其他的管理服務。因為不依賴其他的管理服務,所以,當客戶端請求訪問時,獨立的服務響應請求更快速。
目前,Linux中的大多數服務都是獨立的服務。
2)基於xinetd的服務
這種服務就不能獨立啟動了,而要依靠管理服務來調用。這個負責管理的服務就是xinetd服務。xinetd服務是系統的超級守護進程,其作用就是管理不能獨立啟動的服務。
當有客戶端請求時,先請求xinetd服務,由xinetd服務去喚醒相對應的服務。當客戶端請求結束後,被喚醒的服務會關閉並釋放資源。
樣做的好處是只需要持續啟動xinetd服務,而其他基於xinetd的服務只有在需要時才被啟動,不會占用過多的伺服器資源。但是這種服務由於在有客戶端請求時才會被喚醒,所以響應時間相對較長。
源碼包
源碼包安裝的服務。這些服務是通過源碼包安裝的,所以安裝位置都是手工指定的。由於不能被系統中的服務管理命令直接識別,所以這些服務的啟動與自啟動方法一般都是源碼包設計好的。每個源碼包的啟動腳本都不一樣,一般需要查看說明文檔才能確定。
RPM包和源碼包的不同
1)編譯使用不同
RPM包是經過編譯的軟體包,安裝更快速,不易報錯,但不再是開源的。
源碼包是開源的,自定義性強,通過編譯安裝更加適合系統,但是安裝速度較慢,編譯時容易報錯。
2)安裝位置不同
源碼包安裝到我們手工指定的位置當中,而RPM包安裝到系統預設位置當中(可以通過rpm -ql 包名命令查詢)。
也就是說,RPM包安裝到系統預設位置,可以被服務管理命令識別,但是源碼包安裝到手工指定位置,當然就不能被服務管理命令識別了(可以手工修改為被服務管理命令識別)。
對服務進行管理
通過主程式管理服務
通過手動執行主程式來啟動服務,首先要知道主程式保存的路徑。例如,手動啟動Apache服務,需要知道Apache主程式的存儲路徑即可,/usr/local/apche2/bin/apachectl start開啟服務,/usr/local/apche2/bin/apachectl stop停止服務。絕大多數通過源碼安裝的軟體都需要我們手動指定路徑來啟動服務。
通過service管理服務
如果通過rpm或yum安裝,則應用程式一般會在/etc/init.d目錄下創建對應的啟動腳本,我們可以通過service命令來管理服務。service命令其實是去/etc/init.d目錄下,去執行相關程式。
有時更改了服務配置後,不想停止服務的情況下來使配置生效,可以通過reload參數來重新載入配置文件,或者是你更改配置不知道新的配置是否正確,或重啟服務後是否會導致服務無法啟動,可以使用condrestart選項,此時系統會測試新的配置文件是否有問題,沒問題的才會重啟,否則不會用新配置來重啟服務。
通過chkconfig管理開機啟動服務
由於Linux是伺服器版的操作系統,所以需要將很多服務設置為開機啟動。chkconfig命令可以用來管理開機啟動項,但設置開機啟動時需要指定運行級別。
Linux操作系統正常情況下可以在六種模式(4暫時未使用)下啟動並分別用數字表示:1代表關機模式,2代表無NFS網路的字元界面模式,3代表全功能字元界面模式,4暫時未定義使用,5代表圖形界面模式,6代表重啟模式。
每個級別都有啟動和不啟動的服務,通過runlevel命令查看當前所處的運行級別,通過init n來改變運行級別。
通過systemctl管理服務
從CentOS 7開始,CentOS開始使用systemd服務來代替daemon,原來管理系統啟動(chkconfig)和管理系統服務(service)的相關命令全部由systemctl命令來代替。