summarylogtreecommitdiffstats
path: root/nginx.sh
diff options
context:
space:
mode:
Diffstat (limited to 'nginx.sh')
-rw-r--r--nginx.sh73
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