diff options
author | William Pitcock <nenolod@dereferenced.org> | 2011-03-24 16:04:03 -0500 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2011-03-24 16:04:03 -0500 |
commit | ef77ec299e797eef01a8b0f4ace1bf1ead464056 (patch) | |
tree | 318e740a9f8737c03f73faa8a94509723d4eda02 /main/nginx/nginx.initd | |
parent | 7293ee055902cd79283a8a4743483eaa06dd3d3b (diff) | |
download | aports-ef77ec299e797eef01a8b0f4ace1bf1ead464056.tar.bz2 aports-ef77ec299e797eef01a8b0f4ace1bf1ead464056.tar.xz |
main/nginx: move from testing (ok'd by cbanta)
Diffstat (limited to 'main/nginx/nginx.initd')
-rw-r--r-- | main/nginx/nginx.initd | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/main/nginx/nginx.initd b/main/nginx/nginx.initd new file mode 100644 index 000000000..e175bb413 --- /dev/null +++ b/main/nginx/nginx.initd @@ -0,0 +1,72 @@ +#!/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.init-r2,v 1.1 2010/01/03 19:51:41 djc Exp $ + +opts="${opts} upgrade reload configtest" + +depend() { + need net + use dns logger netmount +} + +start() { + configtest || return 1 + ebegin "Starting nginx" + start-stop-daemon --start --pidfile /var/run/nginx.pid \ + --exec /usr/sbin/nginx -- -c /etc/nginx/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" + mkdir -p /tmp/nginx + /usr/sbin/nginx -c /etc/nginx/nginx.conf -t + eend $? "failed, please correct errors above" +} |