diff options
Diffstat (limited to 'nginx.sh')
-rw-r--r-- | nginx.sh | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/nginx.sh b/nginx.sh new file mode 100644 index 000000000000..472b9c53d7e6 --- /dev/null +++ b/nginx.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +# general config + +NGINX_CONFIG="/etc/nginx/nginx.conf" + +. /etc/conf.d/nginx +. /etc/rc.conf +. /etc/rc.d/functions + +function check_config { + stat_busy "Checking configuration" + /usr/bin/nginx -t -q -c "$NGINX_CONFIG" + if [ $? -ne 0 ]; then + stat_die + else + stat_done + fi +} + +case "$1" in + start) + check_config + $0 careless_start + ;; + careless_start) + stat_busy "Starting Nginx" + if [ -s /run/nginx.pid ]; then + stat_fail + # probably ;) + stat_busy "Nginx is already running" + stat_die + fi + /usr/bin/nginx -c "$NGINX_CONFIG" &>/dev/null + if [ $? -ne 0 ]; then + stat_fail + else + add_daemon nginx + stat_done + fi + ;; + stop) + stat_busy "Stopping Nginx" + NGINX_PID=`cat /run/nginx.pid 2>/dev/null` + kill -QUIT $NGINX_PID &>/dev/null + if [ $? -ne 0 ]; then + stat_fail + else + for i in `seq 1 10`; do + [ -d /proc/$NGINX_PID ] || { stat_done; rm_daemon nginx; exit 0; } + sleep 1 + done + stat_fail + fi + ;; + restart) + check_config + $0 stop + sleep 1 + $0 careless_start + ;; + reload) + check_config + if [ -s /run/nginx.pid ]; then + status "Reloading Nginx Configuration" kill -HUP `cat /run/nginx.pid` + fi + ;; + check) + check_config + ;; + *) + echo "usage: $0 {start|stop|restart|reload|check|careless_start}" +esac |