summaryrefslogtreecommitdiff
path: root/nginx-upgrade
diff options
context:
space:
mode:
Diffstat (limited to 'nginx-upgrade')
-rw-r--r--nginx-upgrade19
1 files changed, 19 insertions, 0 deletions
diff --git a/nginx-upgrade b/nginx-upgrade
new file mode 100644
index 0000000..f84d91a
--- /dev/null
+++ b/nginx-upgrade
@@ -0,0 +1,19 @@
+#!/bin/sh
+[ ! -f /run/nginx.pid ] && exit 1
+echo "Start new nginx master..."
+/bin/systemctl kill --signal=SIGUSR2 nginx.service
+sleep 5
+[ ! -f /run/nginx.pid.oldbin ] && sleep 10
+if [ ! -f /run/nginx.pid.oldbin ]; then
+ echo "Failed to start new nginx master."
+ exit 1
+fi
+echo "Stop old nginx master gracefully..."
+oldpid=`/usr/bin/cat /run/nginx.pid.oldbin 2>/dev/null`
+/bin/kill -s QUIT $oldpid 2>/dev/null
+sleep 5
+[ -f /run/nginx.pid.oldbin ] && sleep 10
+if [ -f /run/nginx.pid.oldbin ]; then
+ echo "Failed to stop old nginx master."
+ exit 1
+fi