linux下源碼包安裝的服務(wù)管理
1、源碼包服務(wù)的啟動管理
# 通過源碼包的安裝路徑,找到該服務(wù)的啟動腳本, # 也就是獲得該服務(wù)的啟動腳本的絕對路徑, # 最后加上啟動選項。 [root@localhost ~]# /usr/local/apache2/bin/apachectl start|stoplrestart|...
注意:
按用源碼包安裝服務(wù)的時候,每個服務(wù)的啟動腳本是不同的。
我們?nèi)绾沃酪粋€服務(wù)的啟動腳本叫什么名稱呢?
在官方給你的安裝文檔中,會明確的告訴你該服務(wù)的啟動腳本叫什么名稱。
開啟服務(wù)示例:
說明:
這個報錯說的是localhost.localdomain
這個主機名沒有被識別,但是apache服務(wù)啟動起來是沒有問題的。
查看apache
服務(wù)是否開啟,執(zhí)行命令ps aux | grep httpd
。
如下圖所示:
2、源碼包服務(wù)的自啟動管理
通過配置/etc/rc.d/rc.local
配置文件,來實現(xiàn)通過源碼包安裝的服務(wù)的自啟動管理。
這個方法是通用的,不論是源碼包還是RPM包安裝的服務(wù)都可以,主要看的是你在/etc/rc.d/rc.local
配置文件中寫的是源碼包安裝的服務(wù)啟動命令,還是通過RPM包安裝的服務(wù)啟動命令。
所以在上文中推薦使用配置文件的方式進行服務(wù)的管理,通用、統(tǒng)一管理Linux系統(tǒng)中的服務(wù)。
示例:
# 配置/etc/rc.d/rc.local配置文件 [root@localhost ~]# vim /etc/rc.d/rc.local # 修改自啟動文件內(nèi)容 #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local /usr/local/apache2/bin/apachectl start
3、讓源碼包服務(wù)被服務(wù)管理命令識別
我們接下來就做個試驗,把通過源碼包安裝的apche
服務(wù),變?yōu)楹蚏PM包安裝的apache
服務(wù)一樣,可以被service
,chkconfig
,ntsysv
命令識別。
我們所要解決的問題如下圖:
(1)讓通過源碼包安裝的服務(wù)能被service命令管理啟動
service
命令其實只是在/etc/rc.d/init.d/
目錄中查找是否有服務(wù)的啟動腳本,所以我們只需要做個軟鏈接,把源碼包的啟動腳本鏈接到/etc/rc.d/init.d/
目錄中,就能被service
命令管理了。
# 將通過源碼包安裝的服務(wù)的啟動腳本,在/etc/rc.d/init.d/目錄中做一個軟鏈接 [root@localhost ~]# ln -s /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/apachectl
查看/etc/rc.d/init.d/
內(nèi)容,如下圖所示:
執(zhí)行service apachectl restart
命令,開啟apche
服務(wù)。
可以看到apche
服務(wù)可以通過service
命令進行啟動了,沒有報未被識別的服務(wù)錯誤。
(2)讓通過源碼包安裝的服務(wù)能被chkconfig命令管理自啟動
接上一步,然后需要對軟鏈接到/etc/rc.d/init.d/
目錄,通過源碼包安裝的服務(wù)的啟動腳本進行配置。
# 編輯/etc/rc.d/init.d/目錄中的源碼包啟動腳本 # (注意此文件是軟鏈接,所以修改的還是源碼包啟動腳本) [root@localhost ~]# vim /etc/rc.d/init.d/apachectl # 在開頭添加內(nèi)容如下 #!/bin/sh # 添加內(nèi)容-1 # 指定httpd腳本可以被chkconfig命令管理 # 格式是:chkconfig:運行級別啟動順序關(guān)閉順序 # 這里我們設(shè)定apache在3和5級別能被chkconfig命令管理,啟動順序是S86,關(guān)閉順序是K76 # 注意:(自定順序,不要和系統(tǒng)中已有的啟動程序順序沖突) # chkconfig:35 86 76 # # 添加內(nèi)容-2 # 說明,內(nèi)容隨意 # description:aaabbbccc #以上兩句話必須加入,才能被chkconfig命令識別。
然后讓chkconfig
命令能夠管理源碼包安裝的服務(wù)。
[root@localhost ~]# chkconfig --add apachectl
沒有報錯說明成功。
通過chkconfig
命令查看Linux中自啟動服務(wù)。
如下圖所示:
然后可以通過chkconfig
命令開啟該服務(wù)的自啟動狀態(tài)了。
(3)讓ntsysv命令可以管理通過源碼包安裝的服務(wù)
ntsysv
命令其實是和chkconfig
命令使用同樣的管理機制,也就是說上面chkconfig
命令能夠管理源碼包安裝的服務(wù),ntsysv
命令也就可以管理通過源碼包安裝的服務(wù)了。
執(zhí)行[root@localhost ~]# ntsysv
命令,可以在圖形界面中找到我們上邊剛剛配置的apache
服務(wù)。
(4)總結(jié)
如果想讓源碼包服務(wù)被service
命令識別并管理,只要做個軟鏈接把啟動腳本鏈接到/etc/rc.d/init.d/
目錄中即可。
要想讓源碼包服務(wù)被chkconfig
命令識別,除了需要把服務(wù)的啟動腳本鏈接到/etc/rc.d/init.d/
目錄中,還要修改這個啟動腳本,在啟動腳本的開頭加入:
# chkconfig
:運行級別、啟動順序、關(guān)閉順序。
# description
:說明信息。然后需要使用chkconfig --add 服務(wù)名
的方式,把服務(wù)加入chkconfig
命令管理中。
命令格式如下:
[root@localhost ~]# chkconfig [選項] [服務(wù)名] 選項: --add:把服務(wù)加入chkconfig命令的管理。 --del:把服務(wù)從chkconfig命令的管理中刪除。 # 示例: # 把apache服務(wù)從chkconfig命令的管理中刪除 [root@localhost ~]# chkconfig -del httpd
chkconfig
命令配置完成,ntsysv
命令也就可以管理該服務(wù)了。
提示:
知道源碼包安裝的服務(wù)可以這樣處理就可以了,并不推薦這樣做。通過源碼包安裝的服務(wù)就用源碼包的方式啟動服務(wù),通過RPM包方式安裝的服務(wù),就用RPM包的方式啟動服務(wù),就很好。
到此這篇關(guān)于linux下源碼包安裝的服務(wù)管理的文章就介紹到這了,更多相關(guān)linux源碼包安裝管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
apache中通過mod_rewrite實現(xiàn)偽靜態(tài)頁面的方法
mod_rewrite是Apache的一個非常強大的功能,它可以實現(xiàn)偽靜態(tài)頁面。下面我詳細說說它的使用方法!對初學者很有用的哦!2011-08-08【專家教程】xmrig挖礦病毒清除攻略,保護你的服務(wù)器免受侵害!
面對日益猖獗的XMRig挖礦病毒,是時候采取行動了!這份攻略將帶你一步步清除這個隱蔽的威脅,讓你的設(shè)備再次安全起來,快來看看我們的秘訣,讓病毒無處遁形!2024-02-02Linux 基于CentOS的LNMP 服務(wù)器部署標準 新手簡明版
Linux 基于CentOS的LNMP 服務(wù)器部署標準 新手簡明版,需要配置centos服務(wù)器的朋友可以參考下。2011-01-01Linux服務(wù)使用寶塔面板搭建網(wǎng)站并發(fā)布公網(wǎng)訪問
寶塔面板作為簡單好用的服務(wù)器運維管理面板,它支持Linux/Windows系統(tǒng),本文我們將演示使用寶塔面板快速簡單搭建本地web網(wǎng)站,并做內(nèi)網(wǎng)穿透,實現(xiàn)不在同個局域網(wǎng)下的用戶也可以訪問到本地web站點,無需公網(wǎng)IP,也不用設(shè)置路由器,需要的朋友可以參考下2023-08-08