当前位置: > Linux服务器 > nginx >

Nginx启动停止系统服务脚本

时间:2014-12-11 00:41来源:linux.it.net.cn 作者:IT
#!/bin/sh
#Nginx添加为系统服务
#将本脚本重命名拷贝到/etc/init.d/nginx
#chmod +x /etc/init.d/nginx
#chkconfig --add nginx
#chkconfig --level 345 nginx on
 
### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO
 
 
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=nginx
NGINX_BIN=/app/nginx/sbin/$NAME
CONFIGFILE=/app/nginx/conf/$NAME.conf
PIDFILE=/app/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
 
case "$1" in
    start)
        echo -n "Starting $NAME... "
 
        if netstat -tnpl | grep -q nginx;then
            echo "$NAME (pid `pidof $NAME`) already running."
            exit 1
        fi
 
        $NGINX_BIN -c $CONFIGFILE
 
        if [ "$?" != 0 ] ; then
            echo " failed"
            exit 1
        else
            echo " done"
        fi
    ;;
 
    stop)
        echo -n "Stoping $NAME... "
 
        if ! netstat -tnpl | grep -q nginx; then
            echo "$NAME is not running."
            exit 1
        fi
 
        $NGINX_BIN -s stop
 
        if [ "$?" != 0 ] ; then
            echo " failed. Use force-quit"
            exit 1
        else
            echo " done"
        fi
    ;;
 
    status)
        if netstat -tnpl | grep -q nginx; then
            PID=`pidof nginx`
            echo "$NAME (pid $PID) is running..."
        else
            echo "$NAME is stopped"
            exit 0
        fi
    ;;
 
    force-quit)
        echo -n "Terminating $NAME... "
 
        if ! netstat -tnpl | grep -q nginx; then
            echo "$NAME is not running."
            exit 1
        fi
 
        kill `pidof $NAME`
 
        if [ "$?" != 0 ] ; then
            echo " failed"
            exit 1
        else
            echo " done"
        fi
    ;;
 
    restart)
        $SCRIPTNAME stop
        sleep 1
        $SCRIPTNAME start
    ;;
 
    reload)
 
        echo -n "Reload service $NAME... "
 
        if netstat -tnpl | grep -q nginx; then
            $NGINX_BIN -s reload
            echo " done"
        else
            echo "$NAME is not running, can't reload."
            exit 1
        fi
    ;;
 
    configtest)
 
        echo -n "Test $NAME configure files... "
 
        $NGINX_BIN -t
    ;;
 
    *)
        echo "Usage: $SCRIPTNAME {start|stop|force-quit|restart|reload|status|configtest}"
        exit 1
    ;;
 
esac
 
 
service nginx
Usage: /etc/init.d/nginx {start|stop|force-quit|restart|reload|status|configtest}
 
 
service nginx start #启动nginx
 
 
service nginx stop #停止nginx


(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容