這裏咱們以php-fpm爲例說明下步驟:php
php-fpm:nginx
#!/bin/sh # chkconfig: 2345 10 90 //這兩句不寫添加啓動器失敗 # description: php-fpm //這兩句不寫添加自啓動失敗 # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 phpfpm="/usr/local/php/sbin/php-fpm" //本身php的安裝路徑 prog=$(basename ${phpfpm}) lockfile=/var/lock/subsys/phpfpm start() { [ -x ${phpfpm} ] || exit 5 echo -n $"Starting $prog: " daemon ${phpfpm} retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop start } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc ${phpfpm} -HUP RETVAL=$? echo } force_reload() { restart } configtest() { ${phpfpm} -t } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; status) rh_status ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|configtest}" exit 2 esac
一、把上面的文件命名爲php-fpm,放到/etc/init.d下web
經過chmod 755 php-fpm對這個文件開啓全用戶可執行權限shell
這裏不少能夠用service操做的服務。bash
而咱們新添加的php-fpm也能夠用service servicename stop|start|restart進行操做了ide
咱們來操做一把:php-fpm
爽!spa
二、接下里咱們把php-fpm加入到開機自啓動rest
結果報錯了,查了不少資料,原來是在php-fpm的shell裏面少寫了兩行,咱們給補上code
再來執行:
好了!
此時咱們已經把php-fpm加入到了自啓動行列了。關於chkconfig的用法,還有不少
chkconfig --list [name]:顯示全部運行級系統服務的運行狀態信息(on或off)。若是指定了name,那麼只顯示指定的服務在不一樣運行級的狀態。
chkconfig --add name:增長一項新的服務。chkconfig確保每一個運行級有一項啓動(S)或者殺死(K)入口。若有缺乏,則會從缺省的init腳本自動創建。
chkconfig --del name:刪除服務,並把相關符號鏈接從/etc/rc[0-6].d刪除。
chkconfig [--level levels] name:設置某一服務在指定的運行級是被啓動,中止仍是重置。
好比我要查看chkconfig目前的任務列表:
>>chkconfig --list
就能看到咱們剛添加進任務的php-fpm
裏面的0-6表示了不一樣的等級
nginx設置
一、添加進service服務
在/etc/init.d目錄下添加nginx文件:
#!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v.0.0.2 version. # chkconfig: - 85 15 # description: Nginx is a high-performance web and proxy server. # It has a lot of features, but it's not for everyone. # processname: nginx # pidfile: /var/run/nginx.pid # config: /usr/local/nginx/conf/nginx.conf nginxd=/usr/local/nginx/sbin/nginx nginx_config=/usr/local/nginx/conf/nginx.conf nginx_pid=/usr/local/nginx/logs/nginx.pid RETVAL=0 prog="nginx" # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x $nginxd ] || exit 0 # Start nginx daemons functions. start() { if [ -e $nginx_pid ];then echo "nginx already running...." exit 1 fi echo -n $"Starting $prog: " daemon $nginxd -c ${nginx_config} RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx return $RETVAL } # Stop nginx daemons functions. stop() { echo -n $"Stopping $prog: " killproc $nginxd RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid } # reload nginx service functions. reload() { echo -n $"Reloading $prog: " #kill -HUP `cat ${nginx_pid}` killproc $nginxd -HUP RETVAL=$? echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) stop start ;; status) status $prog RETVAL=$? ;; *) echo $"Usage: $prog {start|stop|restart|reload|status|help}" exit 1 esac exit $RETVAL
二、添加進開機自啓動
>>chkconfig nginx on