72 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #!/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 /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"
 | |
| 	/usr/sbin/nginx -c /etc/nginx/nginx.conf -t
 | |
| 	eend $? "failed, please correct errors above"
 | |
| }
 |