23094a0df9
Fix package/nginx/S50nginx: * On stop, use start-stop-daemon -R 1 to wait for the nginx processes to actually stop. This fixes a race condition with restart, where nginx fails to restart because start is called too early w.r.t. stop. (This only works with Debian's start-stop-daemon, however BusyBox's start-stop-daemon does not fail when given -R; it just ignores the argument silently). * Implement reload with an actual reload instead of a restart. * Add force-reload. Signed-off-by: Thomas Claveirole <thomas.claveirole@green-communications.fr> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
34 lines
676 B
Bash
Executable File
34 lines
676 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Start/stop nginx
|
|
#
|
|
|
|
NGINX=/usr/sbin/nginx
|
|
PIDFILE=/var/run/nginx.pid
|
|
|
|
case "$1" in
|
|
start)
|
|
echo "Starting nginx..."
|
|
mkdir -p /var/log/nginx /var/tmp/nginx
|
|
start-stop-daemon -S -x "$NGINX" -p "$PIDFILE"
|
|
;;
|
|
stop)
|
|
echo "Stopping nginx..."
|
|
# Use -R 1 to wait for nginx to actually stop. Useful so
|
|
# restart has no race condition. Note that BusyBox knows
|
|
# about -R but ignores it silently.
|
|
start-stop-daemon -K -x "$NGINX" -p "$PIDFILE" -R 1 -o
|
|
;;
|
|
reload|force-reload)
|
|
echo "Reloading nginx configuration..."
|
|
"$NGINX" -s reload
|
|
;;
|
|
restart)
|
|
"$0" stop
|
|
"$0" start
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {start|stop|restart|reload|force-reload}"
|
|
exit 1
|
|
esac
|