summaryrefslogtreecommitdiffstats
path: root/package/nginx/S50nginx
diff options
context:
space:
mode:
authorThomas Claveirole <thomas.claveirole@green-communications.fr>2017-09-25 15:20:29 +0200
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>2017-09-27 00:12:55 +0200
commit23094a0df9fc287f1c83fe2561a076d80c213015 (patch)
treeabe621bf171a447a1399b2b46bbea642ce9e70b4 /package/nginx/S50nginx
parent9f4178ac79f7d5060e676eb06493a3a57a918cb8 (diff)
downloadbuildroot-23094a0df9fc287f1c83fe2561a076d80c213015.tar.gz
buildroot-23094a0df9fc287f1c83fe2561a076d80c213015.zip
nginx (S50nginx): Fix stop, reload, restart. Add force-reload.
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>
Diffstat (limited to 'package/nginx/S50nginx')
-rwxr-xr-xpackage/nginx/S50nginx18
1 files changed, 13 insertions, 5 deletions
diff --git a/package/nginx/S50nginx b/package/nginx/S50nginx
index b2f8b80855..a854c651d1 100755
--- a/package/nginx/S50nginx
+++ b/package/nginx/S50nginx
@@ -3,23 +3,31 @@
# 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 /usr/sbin/nginx -p $PIDFILE
+ start-stop-daemon -S -x "$NGINX" -p "$PIDFILE"
;;
stop)
- printf "Stopping nginx..."
- start-stop-daemon -K -o -p $PIDFILE
+ 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
;;
- restart|reload)
+ reload|force-reload)
+ echo "Reloading nginx configuration..."
+ "$NGINX" -s reload
+ ;;
+ restart)
"$0" stop
"$0" start
;;
*)
- echo "Usage: $0 {start|stop|restart}"
+ echo "Usage: $0 {start|stop|restart|reload|force-reload}"
exit 1
esac
OpenPOWER on IntegriCloud