Created
October 15, 2009 17:16
-
-
Save cicloid/211115 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/sbin/runscript | |
# Copyright 1999-2004 Gentoo Foundation | |
# Distributed under the terms of the GNU General Public License v2 | |
# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/files/nginx-r1,v 1.1 2006/07/04 16:58:38 voxus Exp $ | |
opts="${opts} upgrade reload configtest" | |
depend() { | |
need net | |
use dns logger | |
} | |
start() { | |
configtest || return 1 | |
ebegin "Starting nginx" | |
start-stop-daemon --start --pidfile /var/run/nginx.pid \ | |
--exec /opt/nginx/sbin/nginx -- -c /opt/nginx/conf/nginx.conf | |
eend $? "Failed to start nginx" | |
} | |
stop() { | |
configtest || return 1 | |
ebegin "Stopping nginx" | |
start-stop-daemon --stop --pidfile /var/run/nginx.pid | |
eend $? "Failed to stop nginx" | |
rm -f /var/run/nginx.pid | |
} | |
reload() { | |
configtest || return 1 | |
ebegin "Refreshing nginx' configuration" | |
kill -HUP `cat /var/run/nginx.pid` &>/dev/null | |
eend $? "Failed to reload nginx" | |
} | |
upgrade() { | |
configtest || return 1 | |
ebegin "Upgrading nginx" | |
einfo "Sending USR2 to old binary" | |
kill -USR2 `cat /var/run/nginx.pid` &>/dev/null | |
einfo "Sleeping 3 seconds before pid-files checking" | |
sleep 3 | |
if [ ! -f /var/run/nginx.pid.oldbin ]; then | |
eerror "File with old pid not found" | |
return 1 | |
fi | |
if [ ! -f /var/run/nginx.pid ]; then | |
eerror "New binary failed to start" | |
return 1 | |
fi | |
einfo "Sleeping 3 seconds before WINCH" | |
sleep 3 ; kill -WINCH `cat /var/run/nginx.pid.oldbin` | |
einfo "Sending QUIT to old binary" | |
kill -QUIT `cat /var/run/nginx.pid.oldbin` | |
einfo "Upgrade completed" | |
eend $? "Upgrade failed" | |
} | |
configtest() { | |
ebegin "Checking nginx' configuration" | |
/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf -t | |
eend $? "failed, please correct errors above" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment