2007-03-24 18:31:48 +00:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
2009-05-17 21:11:07 +00:00
|
|
|
# nginx - this script starts and stops the nginx daemon
|
2007-03-24 18:31:48 +00:00
|
|
|
#
|
2009-05-17 21:11:07 +00:00
|
|
|
# chkconfig: - 85 15
|
2007-03-24 18:31:48 +00:00
|
|
|
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
|
|
|
|
# proxy and IMAP/POP3 proxy server
|
|
|
|
# processname: nginx
|
|
|
|
# config: /etc/nginx/nginx.conf
|
2008-05-12 04:40:35 +00:00
|
|
|
# config: /etc/sysconfig/nginx
|
2007-03-24 18:31:48 +00:00
|
|
|
# pidfile: /var/run/nginx.pid
|
|
|
|
|
|
|
|
# Source function library.
|
|
|
|
. /etc/rc.d/init.d/functions
|
|
|
|
|
|
|
|
# Source networking configuration.
|
|
|
|
. /etc/sysconfig/network
|
|
|
|
|
|
|
|
# Check that networking is up.
|
|
|
|
[ "$NETWORKING" = "no" ] && exit 0
|
|
|
|
|
|
|
|
nginx="/usr/sbin/nginx"
|
|
|
|
prog=$(basename $nginx)
|
|
|
|
|
2008-05-12 04:40:35 +00:00
|
|
|
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
|
|
|
|
|
2008-05-27 04:06:16 +00:00
|
|
|
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
|
2007-03-24 18:31:48 +00:00
|
|
|
|
|
|
|
lockfile=/var/lock/subsys/nginx
|
|
|
|
|
|
|
|
start() {
|
2008-05-12 04:40:35 +00:00
|
|
|
[ -x $nginx ] || exit 5
|
2008-05-27 04:06:16 +00:00
|
|
|
[ -f $NGINX_CONF_FILE ] || exit 6
|
2007-03-24 18:31:48 +00:00
|
|
|
echo -n $"Starting $prog: "
|
2008-05-12 05:51:09 +00:00
|
|
|
daemon $nginx -c $NGINX_CONF_FILE
|
2007-03-24 18:31:48 +00:00
|
|
|
retval=$?
|
|
|
|
echo
|
|
|
|
[ $retval -eq 0 ] && touch $lockfile
|
|
|
|
return $retval
|
|
|
|
}
|
|
|
|
|
|
|
|
stop() {
|
|
|
|
echo -n $"Stopping $prog: "
|
2009-05-17 21:11:07 +00:00
|
|
|
killproc $prog
|
2007-03-24 18:31:48 +00:00
|
|
|
retval=$?
|
|
|
|
echo
|
|
|
|
[ $retval -eq 0 ] && rm -f $lockfile
|
|
|
|
return $retval
|
|
|
|
}
|
|
|
|
|
|
|
|
restart() {
|
2009-05-17 21:11:07 +00:00
|
|
|
configtest_q || configtest || return 6
|
2007-03-24 18:31:48 +00:00
|
|
|
stop
|
|
|
|
start
|
|
|
|
}
|
|
|
|
|
|
|
|
reload() {
|
2009-05-17 21:11:07 +00:00
|
|
|
configtest_q || configtest || return 6
|
2007-03-24 18:31:48 +00:00
|
|
|
echo -n $"Reloading $prog: "
|
|
|
|
killproc $nginx -HUP
|
|
|
|
echo
|
|
|
|
}
|
|
|
|
|
2008-05-27 04:06:16 +00:00
|
|
|
configtest() {
|
|
|
|
$nginx -t -c $NGINX_CONF_FILE
|
|
|
|
}
|
|
|
|
|
2009-05-17 21:11:07 +00:00
|
|
|
configtest_q() {
|
|
|
|
configtest >/dev/null 2>&1
|
|
|
|
}
|
|
|
|
|
2008-05-12 04:40:35 +00:00
|
|
|
rh_status() {
|
2007-03-24 18:31:48 +00:00
|
|
|
status $prog
|
|
|
|
}
|
|
|
|
|
2008-05-12 04:40:35 +00:00
|
|
|
rh_status_q() {
|
|
|
|
rh_status >/dev/null 2>&1
|
|
|
|
}
|
|
|
|
|
2009-05-17 21:11:07 +00:00
|
|
|
# Upgrade the binary with no downtime.
|
|
|
|
upgrade() {
|
|
|
|
local pidfile="/var/run/${prog}.pid"
|
|
|
|
local oldbin_pidfile="${pidfile}.oldbin"
|
|
|
|
|
|
|
|
configtest_q || configtest || return 6
|
|
|
|
echo -n $"Staring new master $prog: "
|
|
|
|
killproc $nginx -USR2
|
|
|
|
retval=$?
|
|
|
|
echo
|
|
|
|
sleep 1
|
|
|
|
if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]]; then
|
|
|
|
echo -n $"Graceful shutdown of old $prog: "
|
|
|
|
killproc -p ${oldbin_pidfile} -QUIT
|
|
|
|
retval=$?
|
|
|
|
echo
|
|
|
|
return 0
|
|
|
|
else
|
|
|
|
echo $"Something bad happened, manual intervention required, maybe restart?"
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2007-03-24 18:31:48 +00:00
|
|
|
case "$1" in
|
2008-05-12 04:40:35 +00:00
|
|
|
start)
|
|
|
|
rh_status_q && exit 0
|
|
|
|
$1
|
|
|
|
;;
|
|
|
|
stop)
|
|
|
|
rh_status_q || exit 0
|
|
|
|
$1
|
|
|
|
;;
|
2008-05-27 04:06:16 +00:00
|
|
|
restart|configtest)
|
2008-05-12 04:40:35 +00:00
|
|
|
$1
|
|
|
|
;;
|
2009-05-17 21:11:07 +00:00
|
|
|
force-reload|upgrade)
|
|
|
|
rh_status_q || exit 7
|
|
|
|
upgrade
|
|
|
|
;;
|
2008-05-12 04:40:35 +00:00
|
|
|
reload)
|
|
|
|
rh_status_q || exit 7
|
2007-03-24 18:31:48 +00:00
|
|
|
$1
|
|
|
|
;;
|
2009-05-17 21:11:07 +00:00
|
|
|
status|status_q)
|
|
|
|
rh_$1
|
2007-03-24 18:31:48 +00:00
|
|
|
;;
|
|
|
|
condrestart|try-restart)
|
2009-05-17 21:11:07 +00:00
|
|
|
rh_status_q || exit 7
|
|
|
|
restart
|
2008-05-12 04:40:35 +00:00
|
|
|
;;
|
2007-03-24 18:31:48 +00:00
|
|
|
*)
|
2009-05-17 21:11:07 +00:00
|
|
|
echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart}"
|
2007-03-24 18:31:48 +00:00
|
|
|
exit 2
|
|
|
|
esac
|