zoukankan      html  css  js  c++  java
  • Nginx的启动脚本

    vi /etc/init.d/nginx
    #!/bin/sh
    # nginx        Startup script for nginx
    # chkconfig: - 85 15
    # processname: nginx
    # config: /etc/nginx/nginx.conf
    # config: /etc/sysconfig/nginx
    # pidfile: /var/run/nginx.pid
    # description: nginx is an HTTP and reverse proxy server
    ### BEGIN INIT INFO
    # Provides: nginx
    # Required-Start: $local_fs $remote_fs $network
    # Required-Stop: $local_fs $remote_fs $network
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: start and stop nginx
    ### END INIT INFO
     
    # Source function library.
    . /etc/rc.d/init.d/functions
     
    if [ -L $0 ]; then
        initscript=`/bin/readlink -f $0`
    else
        initscript=$0
    fi
     
    sysconfig=`/bin/basename $initscript`
    if [ -f /etc/sysconfig/$sysconfig ]; then
        . /etc/sysconfig/$sysconfig
    fi
     
    nginx=${NGINX-/usr/sbin/nginx}
    prog=`/bin/basename $nginx`
    conffile=${CONFFILE-/etc/nginx/nginx.conf}
    lockfile=${LOCKFILE-/var/lock/subsys/nginx}
    pidfile=${PIDFILE-/var/run/nginx.pid}
    SLEEPMSEC=${SLEEPMSEC-200000}
    UPGRADEWAITLOOPS=${UPGRADEWAITLOOPS-5}
    RETVAL=0
     
    start() {
        echo -n $"Starting $prog: "
     
        daemon --pidfile=${pidfile} ${nginx} -c ${conffile}
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch ${lockfile}
        return $RETVAL
    }
     
    stop() {
        echo -n $"Stopping $prog: "
        killproc -p ${pidfile} ${prog}
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
    }
     
    reload() {
        echo -n $"Reloading $prog: "
        killproc -p ${pidfile} ${prog} -HUP
        RETVAL=$?
        echo
    }
     
    upgrade() {
        oldbinpidfile=${pidfile}.oldbin
     
        configtest -q || return
        echo -n $"Starting new master $prog: "
        killproc -p ${pidfile} ${prog} -USR2
        echo
     
        for i in `/usr/bin/seq $UPGRADEWAITLOOPS`; do
            /bin/usleep $SLEEPMSEC
            if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then
                echo -n $"Graceful shutdown of old $prog: "
                killproc -p ${oldbinpidfile} ${prog} -QUIT
                RETVAL=$?
                echo
                return
            fi
        done
     
        echo $"Upgrade failed!"
        RETVAL=1
    }
     
    configtest() {
        if [ "$#" -ne 0 ] ; then
            case "$1" in
                -q)
                    FLAG=$1
                    ;;
                *)
                    ;;
            esac
            shift
        fi
        ${nginx} -t -c ${conffile} $FLAG
        RETVAL=$?
        return $RETVAL
    }
     
    rh_status() {
        status -p ${pidfile} ${nginx}
    }
     
    # See how we were called.
    case "$1" in
        start)
            rh_status >/dev/null 2>&1 && exit 0
            start
            ;;
        stop)
            stop
            ;;
        status)
            rh_status
            RETVAL=$?
            ;;
        restart)
            configtest -q || exit $RETVAL
            stop
            start
            ;;
        upgrade)
            rh_status >/dev/null 2>&1 || exit 0
            upgrade
            ;;
        condrestart|try-restart)
            if rh_status >/dev/null 2>&1; then
                stop
                start
            fi
            ;;
        force-reload|reload)
            reload
            ;;
        configtest)
            configtest
            ;;
        *)
            echo $"Usage: $prog {start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest}"
            RETVAL=2
    esac
     
    exit $RETVAL
     
    [root@node1 nginx]# chkconfig --add nginx
    [root@node1 nginx]# /etc/init.d/nginx restart
    本文是作者本人的笔记心得,如果有bug请评论留言; 如果本文对你有帮助,请点击【好文要顶】和【关注我】以示鼓励; 大家也可以关注我的微信订阅号【ysgxming】一起交流学习。
  • 相关阅读:
    nginx 403 forbidden 二种原因
    【Spring-AOP-学习笔记-3】@Before前向增强处理简单示例
    【Oracle学习笔记-5--】集合操作之union,intersect和minus操作
    【Oracle学习笔记-2】Oracle基础术语解析
    【数据库设计-1.2】主键的设计
    【数据库设计-1.1】关系的实现
    【Servlet和JSP-学习-1】基础知识
    【Spring学习笔记-MVC-17】Spring MVC之拦截器
    【Spring学习笔记-MVC-1.0】Spring MVC架构介绍
    【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码
  • 原文地址:https://www.cnblogs.com/DemonAngel/p/5512078.html
Copyright © 2011-2022 走看看