linux開機自啟動設置,自定義開機啟動模版,nginx開機自啟動服務


   

 

        /etc/init.d 目錄,我們把shell腳本放在這個目錄下來作為啟動腳本

        都是用來放服務腳本的,當Linux啟動時,會尋找這些目錄中的服務腳本,並根據腳本的run level確定不同的啟動級別。

  在制作服務腳本的過程中,使用了Linux的兩個版本,CentOS和Ubuntu,需要在兩個版本中都可以開機啟動服務。但Ubuntu沒有 /etc/rc.d/init.d這個目錄,所以,為了保持同一種服務在CentOS和Ubuntu使用的統一性,將服務腳本(注:服務腳本在兩個不同版本中是不同的)都放在 /etc/init.d 目錄下,最終達到的效果是相同的。

 

 

編寫一個自定義開機啟動模版,開機自動啟動nginx服務(根據進程是否存在來判斷

編寫一個 nginx 文件 存放在 /etc/init.d 目錄下

#!/bin/bash
#chkconfig:2345 80 05 --指定在哪幾個級別執行,0一般指關機,6指的是重啟,其他為正常啟動。80為啟動的優先級,05為關閉的優先級別

RETVAL=0
PROCESS=/usr/local/nginx-1.8.0/sbin/nginx   #啟動進程的命令
NAME=nginx                                  #進程名稱

start(){ #啟動服務的入口函數
        ID=`ps -ef | grep "$NAME" | grep -v "grep" | awk '{print $2}'`   #獲取進程 端口

        if [ ! $ID ]; then                         #判斷進程是否 啟動
           echo "start $NAME ... "
           $PROCESS                                #如果沒有啟動 則啟動
           echo "start $NAME service  sucess !!!"
        else
           echo "$NAME is running..."
        fi
}


stop(){ #關閉服務的入口函數
        ID=`ps -ef | grep "nginx" | grep -v "grep" | awk '{print $2}'`

        for i in $ID                              #循環
        do
           echo "$NAME  Kill the $1 process [ $i ]"
           kill -9 $i                             #殺死進程
        done

        echo  "stop $NAME service sucess !!!"
}

#使用case選擇
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "error choice ! please input start or stop";;
esac
exit $RETVA

 

然后就 添加nginx到service服務

#修改權限
chmod 755 /etc/init.d/nginx

#添加 nginx服務
chkconfig --add nginx

#添加開機自動啟動服務
chkconfig  nginx on

#以下就可以允許這些服務 service nginx start service nginx stop service nginx reload

 

一個簡單的 開機啟動服務就完成了,這個模版供大家參考

謝謝

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM