Linux開機自啟動總結:
在作為服務器使用的Linux(Cent OS)系統中,開機自動啟動若干服務是常見的。我們使用的指令是chkconfig,通過它將我們自定義的封裝了各種服務的sh腳本添加到開機啟動項,並設置該腳本的運行級別,啟動順序及停止順序。在這裡,我們介紹完基本的知識之後,會以LNMP中涉及的基本必須的服務開啟為例封裝一個腳本,並使用chkconfig將該腳本加入開啟啟動。
· 開機啟動介紹
· 腳本命令封裝
· 腳本開機自啟
1、啟動配置介紹
先看以下配置(自定義腳本中),這些配置為系統可識別配置:
#add for chkconfig #代表使用添加腳本方式為chkconfig
#chkconfig:2345 60 20 #2345指腳本運行級別,234為文本界面,5為圖形界面,60為腳本啟動的次序號,20為腳本停止的次序號;如果其他程序啟動號小於60,那麼待它們執行之後,才執行60號。
#processname: lnmp_autostart #指定啟動的進程 這裡為sh腳本
#description: the lnmp basic service of the shell #腳本簡短描述
好了,有了上面的啟動配置之後,並將其添加到sh腳本中即可。
2、腳本命令封裝
A、Shell多條指令分割符說明
;號->各個命令都執行,不保證每個命令都執行成功;
&&號->若前面指令執行成功,才往下繼續執行,保證每條指令執行成功;
||號->若遇到一條指令成功執行,就返回不再執行;
B、以lnmp基本的服務為例:
$ cd /etc/init.d // 切換到開啟初始化init目錄
$ sudo touch lnmp_autostart.sh // 新建服務腳本 並設置可執行
$ sudo chmod a+x lnmp_autostart.sh
$ sudo vim lnmp_autostart.sh // 編輯腳本文件
lnmp_autostart.sh:
[lnmp]
#!/bin/sh
#開機自動啟動的配置
#add for chkconfig
#chkconfig:2345 60 20
#processname:lnmp_autostart
#description: the lnmp basic service of the shell
#要啟動的服務指令集
/usr/local/bin/sudo PHP-fpm&&
echo ‘fpm start success!’&&
/usr/local/nginx/sbin/sudo nginx&&
echo ‘nginx start success!’&&
/usr/local/opt/MySQL/bin/mysql.server start&&
echo ‘mysql server is ok!’&&
…
3、腳本開機自啟
$ chkconfig --add lnmp_autostart.sh
NOTE:
上面使用chkconfig將sh腳本加入開啟自動啟動,然後重啟系統即刻生效;
另外,可以使用chkconfig --del刪除指定的啟動進程;
好了,到這裡已經介紹完了開機自動啟動,簡單吧。