14.5 Linux源碼包服務管理

      網友投稿 744 2025-03-31

      本節我們先學習源碼包服務的啟動管理,再來學習源碼包服務的自啟動管理,最后學習如何讓源碼包服務被系統服務管理命令識別。

      源碼包服務的啟動管理

      源碼包服務中所有的文件都會安裝到指定目錄當中,并且沒有任何垃圾文件產生(linux 的特性),所以服務的管理腳本程序也會安裝到指定目錄中。源碼包服務的啟動管理方式就是在服務的安裝目錄中找到管理腳本,然后執行這個腳本。

      問題來了,每個服務的啟動腳本都是不一樣的,我們怎么確定每個服務的啟動腳本呢?還記得在安裝源碼包服務時,我們強調需要査看每個服務的說明文檔嗎(一般是 INSTALL 或 READEM)?在這個說明文檔中會明確地告訴大家服務的啟動腳本是哪個文件。

      我們用 apache 服務來舉例。一般 apache 服務的安裝位置是 /usr/local/apache2/ 目錄,那么 apache 服務的啟動腳本就是 /usr/local/apache2/bin/apachectl 文件(查詢 apache 說明文檔得知)。啟動命令如下:

      [root@localhost ~]# /usr/local/apache2/bin/apachectl start|stop|restart|... \#源碼包服務的啟動管理

      例如:

      [root@localhost ~]# /usr/local/apache2/bin/apachectl start \#會啟動源碼包安裝的apache服務

      注意,不管是源碼包安裝的 apache,還是 RPM 包默認安裝的 apache,雖然在一臺服務器中都可以安裝,但是只能啟動一因為它們都會占用 80 端口。

      源碼包服務的啟動方法就這一種,比 RPM 包默認安裝的服務要簡單一些。

      源碼包服務的自啟動管理

      源碼包服務的白啟動管理也不能依靠系統的服務管理命令,而只能把標準啟動命令寫入 /etc/rc.d/rc.local 文件中。系統在啟動過程中讀取 /etc/rc.d/rc.local 文件時,就會調用源碼包服務的啟動腳本,從而讓該服務開機自啟動。命令如下:

      [root@localhost ~]# vi /etc/rc.d/rc.local \#修改自啟動文件 \#!/bin/sh \#This script will be executed *after* all the other init scripts. \#You can put your own initialization stuff in here if you don11 \#want to do the full Sys V style init stuff. touch /var/lock/subsys/local /usr/local/apache2/bin/apachectl start \#加入源碼包服務的標準啟動命令,保存退出,源碼包安裝的apache服務就被設為自啟動了

      讓源碼包服務被服務管理命令識別

      在默認情況下,源碼包服務是不能被系統的服務管理命令所識別和管理的,但是如果我們做一些設定,則也是可以讓源碼包服務被系統的服務管理命令所識別和管理的。不過筆者并不推薦大家這樣做,因為這會讓本來區別很明確的源碼包服務和 RPM 包服務變得容易混淆,不利于系統維護和管理。

      我們做一個實驗,看看如何把源碼包安裝的 apache 服務變為和 RPM 包默認安裝的 apache 服務一樣,可以被 service、chkconfig、ntsysv 命令所識別。實驗如下:

      [root@localhost ~]# yum -y remove httpd \#卸載RPM包默認安裝的apache服務,避免對實驗產生影響(在生產服務器上慎用yum卸載,因為這有可能造成服務器崩潰) [root@localhost ~]# service httpd start httpd:未被識別的服務 \#因為服務被卸載,所以service命令不能識別httpd服務

      \#安裝源碼包的apache服務 [root@localhost ~]# /usr/local/apache2/bin/apachect1 start [root@localhost ~]# netstat -tlun | grep 80 tcp 0 0 :::80 :::* LISTEN \#啟動源碼包安裝的apache服務,查看端口確定已經啟動

      [root@localhost ~]# ln -s /usr/local/apache2/bin/apachectl /etc/±nit.d/apache \#service命令其實只是在/etc/init.d/目錄中查找是否有服務的啟動腳本,所以我們只需要做一個軟鏈接,把源碼包的啟動腳本鏈接到/etc/init.d/目錄中,就能被service命令所管理了。為了照顧大家的習慣,我把軟鏈接文件命名為apache,注意這不是RPM包默認安裝的apache服務 [root@localhost ~]# service apache restart \#雖然RPM包默認安裝的apache服務被卸載了,但是service命令也能夠生效

      [root@localhost ~]# vi /etc/init.d/apache \#修改源碼包安裝的apache服務的啟動腳本(注意此文件是軟鏈接,所以修改的還是源碼包啟動腳本) \#!/bin/sh \# \#chkconfig: 35 86 76 \#指定httpd腳本可以被chkconfig命令所管理 \#格式是:chkconfig:運行級別 啟動順序 關閉順序 \#這里我們讓apache服務在3和5級別中能被chkconfig命令所管理,啟動順序是S86,關閉順序是K76 \#(自定順序,不要和系統中已有的啟動順序沖突) \#description: source package apache \#說明,內容隨意 \#以上兩句話必須加入,才能被chkconfig命令所識別 ...省略部分輸出... [root@localhost ~]# chkconfig --add apache \#讓chkconfig命令能夠管理源碼包安裝的apache服務 [root01ocalhost ~]# chkconfig --list | grep apache apache 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 \#很神奇吧,雖然RPM包默認安裝的apache服務被刪除了,但是chkconfig命令可以管理源碼包安裝的tapache服務

      #ntsysv 命令其實和 chkconfig 命令使用同樣的管理機制,也就是說,ntsysv 已經可以進行源碼包安裝 apache 服務的自啟動管理了,如圖 1 所示

      圖 1 ntsysv 命令識別 apache

      總結一下,如果想讓源碼包服務被service命令所識別和管理,則只需做一個軟鏈接把啟動腳本鏈接到 /etc/init.d/ 目錄中即可。要想讓源碼包服務被 chkconfig 命令所是被,除了需要把服務的啟動腳本鏈接到 /etc/init.d/ 目錄中,還要修改這個啟動腳本,在啟動腳本的開頭加入如下內容:

      14.5 Linux源碼包服務管理

      #chkconfig:運行級別 啟動順序 關閉

      #description:說明

      然后需要使用"chkconfig–add 服務名"的方式把服務加入 chkconfig 命令的管理中。命令格式如下:

      [root@localhost ~]# chkconfig [選項][服務名]

      選項:

      -add:把服務加入 chkconfig 命令的管理中;

      -del:把服務從 chkconfig 命令的管理中刪除;

      例如:

      [root@localhost ~]# chkconfig -del httpd \#把apache服務從chkconfig命令的管理中刪除

      Apache linux

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:打印時邊角距如何設置(打印邊距設置多少)
      下一篇:WPS應用技巧—表格側漏了該怎么辦呢(wps表格漏了一行怎么添加)
      相關文章
      亚洲最大的成人网| 亚洲国产精品免费观看 | 亚洲熟妇AV一区二区三区浪潮| 亚洲妓女综合网99| 亚洲黄色在线网站| 亚洲日韩中文字幕天堂不卡| 91嫩草私人成人亚洲影院| 亚洲av无码专区在线播放| 亚洲人成人无码网www电影首页| 一本久久a久久精品亚洲| 国产亚洲精品自在线观看| 在线亚洲精品自拍| 亚洲人成人一区二区三区| 亚洲午夜久久久久妓女影院 | 亚洲伦理一二三四| 亚洲人成777在线播放| 亚洲一区在线免费观看| 99亚偷拍自图区亚洲| 亚洲人成人无码.www石榴| 午夜亚洲WWW湿好爽| 亚洲AV无码乱码在线观看牲色| 欧美亚洲精品一区二区| 国产综合成人亚洲区| 亚洲精品线路一在线观看 | 亚洲色欲色欲www| 亚洲欧美日韩中文无线码| 亚洲国产精品无码久久九九大片| 亚洲av无码一区二区三区天堂| 国产亚洲综合久久| 国产亚洲精aa成人网站| 亚洲国产精品无码一线岛国 | 亚洲AV香蕉一区区二区三区| 亚洲国产精品一区二区三区久久| 国产精品亚洲精品日韩已方| 国产成人无码综合亚洲日韩| 亚洲系列国产精品制服丝袜第| 久久精品国产亚洲AV蜜臀色欲 | 亚洲AV综合色区无码一区爱AV | 亚洲国产精品日韩| 亚洲国产精品一区二区久久hs| 久久久久亚洲AV无码专区首JN|