天天看點

Linux自啟動服務和添加服務進系統

Linux系統啟動目錄說明:

A. /etc/init.d: 所有啟動腳本存放的目錄, 同時也是 service 指令查找的目錄

    查找service路徑 type service

B. 檢視service腳本内容 vim /usr/sbin/service

C. /etc/init.d/rc.local: 以服務的形式執行/etc/rc.local

D./etc/rc*.d: 對應指定啟動級别下需要啟動的腳本檔案,連接配接到init.d目錄

E./etc/rc.local: 當執行完所有rc*.d目錄下的檔案後執行該腳本,該腳本中通常隻是放一些簡單的指令而已。

     以上這些腳本都是被init程式所執行,是以執行時擁有root權限。

添加源碼安裝程式到系統服務開機自動啟動

比如添加 源碼安裝的apache服務:

添加apache服務為系統服務:

1.添加服務腳本

<code>#cp /usr/apache2/bin/apachectl  /etc/rc.d/init.d/httpd        #/etc/init.d/httpd與/etc/rc.d/init.d/httpd是同一個檔案</code>

<code>#ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S61httpd</code>

當init.d目錄下有httpd腳本後,我們就可以通過service指令來啟動關閉apache了,此時可以說已經成添加了apache系統服務。

但是# chkconfig –list卻還是沒有發現apache服務

2.修改腳本使其支援chkconfig

編輯/etc/init.d/httpd腳本,在第2行添加如***釋資訊:

<code># chkconfig: 35 61 61                        #也可以設定85 15</code>

<code># description: Apache</code>

儲存後執行

<code>#chkconfig --add httpd</code>

第一行的3個參數意義分别為:在哪些運作級别啟動httpd(3,5);啟動序号(S61);關閉序号(K61)。注意:以上兩行缺一不可

2-1 chkconfig後面有三個參數35,61和61告訴chkconfig程式,需要在rc2.d~rc5.d目錄下建立名字為S61httpd 也就是apache

2-2  /etc/rc.d目錄下rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d 跟run level中7個運作級别和chkconfig --list顯示級别是一樣的。

2-3 "K"代表"KILL"是指這個服務在這個級别被停止.若前面有一個"S"表示"Start",表示這個服務在這個運作級别被啟動.在K或S的後面有一些數字,兩位數的大 小範圍是自00到99,這是服務的序号,當啟動服務時,按序号從小到大啟動,當停止服務時,按序号從大到小停止.

執行chkconfig --add httpd後就在rc3.d、rc5.d路徑中将來就會出現S61httpd的連結,其他運作級别路徑中會出現K61httpd的連結

2-4. S和K後面的數字:S一般選擇60以後的數字,60以前的數字基本是系統基本服務啟動序号,K後面的數字自定義

檢視apache服務狀态

1.切換到apache的安裝目錄,假設你的apahce安裝目錄為/usr/local/apache2

2.執行相應的操作

<code>    </code><code>apahce啟動指令:</code><code>/usr/local/apache2/bin/apachectl</code> <code>start</code>

<code>    </code><code>apahce停止指令:</code><code>/usr/local/apache2/bin/apachectl</code> <code>stop</code>

<code>    </code><code>apahce重新開機指令:</code><code>/usr/local/apache2/bin/apachectl</code> <code>restart</code>

重新開機 Apache 伺服器時不中斷目前的連接配接

<code>:</code><code>/usr/local/sbin/apachectl</code> <code>graceful</code>

apache服務的檢視:netstat -nltup |grep httpd 檢視本機上是否啟動成功apache

另一種開機自動啟動Apache服務:

1.切換到sbin目錄 指令:cd /sbin

2.運作chkconfig指令,參數:./chkconfig --level 5 httpd on

3.運作./chkconfig --list檢查一下httpd開機是否自動啟動,如果5:啟動,表示開機自動啟動

參考資料:http://blog.csdn.net/kobe_lzq/article/details/7976787

本文轉自 boy461205160 51CTO部落格,原文連結:http://blog.51cto.com/461205160/1730351

繼續閱讀