HOME


sh-3ll 1.0
DIR:/opt/cpguard/cpg-nginx/
Upload File :
Current File : //opt/cpguard/cpg-nginx/nginx_daemon.sh
#!/bin/sh
#
# Source function library.
#. /etc/rc.d/init.d/functions

# Source networking configuration.
#. /etc/sysconfig/network

nginx="/opt/cpguard/cpg-nginx/sbin/nginx"
prog=$nginx

lockfile="/opt/cpguard/cpg-nginx/nginx.lock"
pidfile="/opt/cpguard/cpg-nginx/nginx.pid"

NGINX_CONF_FILE="/opt/cpguard/cpg-nginx/conf/nginx.conf"

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    # Note: kill -9 is very aggressive, but keeping your original logic here
    kill -9 `ps aux | grep 'nginx:' | grep cpguard | tr -s " " | cut -d " " -f 2`
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    stop
    start
}

reload() {
    echo -n $"Reloading $prog: "
    # 1. Test configuration before reloading to avoid errors
    $nginx -t -c $NGINX_CONF_FILE >/dev/null 2>&1
    if [ $? -eq 0 ]; then
        # 2. If config is good, send reload signal
        $nginx -c $NGINX_CONF_FILE -s reload
        retval=$?
    else
        echo -n " - Config syntax check failed, reload aborted"
        retval=1
    fi
    echo
    return $retval
}

case "$1" in
    start)
        $1
        ;;
    stop)
        $1
        ;;
    restart)
        $1
        ;;
    reload)
        $1
        ;;
    *)
        echo $"Usage: $0 {start|stop|restart|reload}"
        exit 2
esac