You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
2.7 KiB
144 lines
2.7 KiB
#!/bin/sh |
|
# |
|
# nginx - this script starts and stops the nginx daemon |
|
# |
|
# chkconfig: - 85 15 |
|
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \ |
|
# proxy and IMAP/POP3 proxy server |
|
# processname: nginx |
|
# config: /etc/nginx/nginx.conf |
|
# config: /etc/sysconfig/nginx |
|
# 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) |
|
|
|
sysconfig="/etc/sysconfig/$prog" |
|
lockfile="/var/lock/subsys/nginx" |
|
pidfile="/var/run/${prog}.pid" |
|
|
|
NGINX_CONF_FILE="/etc/nginx/nginx.conf" |
|
|
|
[ -f $sysconfig ] && . $sysconfig |
|
|
|
|
|
start() { |
|
[ -x $nginx ] || exit 5 |
|
[ -f $NGINX_CONF_FILE ] || exit 6 |
|
echo -n $"Starting $prog: " |
|
daemon $nginx -c $NGINX_CONF_FILE |
|
retval=$? |
|
echo |
|
[ $retval -eq 0 ] && touch $lockfile |
|
return $retval |
|
} |
|
|
|
stop() { |
|
echo -n $"Stopping $prog: " |
|
killproc -p $pidfile $prog |
|
retval=$? |
|
echo |
|
[ $retval -eq 0 ] && rm -f $lockfile |
|
return $retval |
|
} |
|
|
|
restart() { |
|
configtest_q || return 6 |
|
stop |
|
start |
|
} |
|
|
|
reload() { |
|
configtest_q || return 6 |
|
echo -n $"Reloading $prog: " |
|
killproc -p $pidfile $prog -HUP |
|
echo |
|
} |
|
|
|
configtest() { |
|
$nginx -t -c $NGINX_CONF_FILE |
|
} |
|
|
|
configtest_q() { |
|
$nginx -t -q -c $NGINX_CONF_FILE |
|
} |
|
|
|
rh_status() { |
|
status $prog |
|
} |
|
|
|
rh_status_q() { |
|
rh_status >/dev/null 2>&1 |
|
} |
|
|
|
# Upgrade the binary with no downtime. |
|
upgrade() { |
|
local oldbin_pidfile="${pidfile}.oldbin" |
|
|
|
configtest_q || return 6 |
|
echo -n $"Upgrading $prog: " |
|
killproc -p $pidfile $prog -USR2 |
|
retval=$? |
|
sleep 1 |
|
if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]]; then |
|
killproc -p $oldbin_pidfile $prog -QUIT |
|
success $"$prog online upgrade" |
|
echo |
|
return 0 |
|
else |
|
failure $"$prog online upgrade" |
|
echo |
|
return 1 |
|
fi |
|
} |
|
|
|
# Tell nginx to reopen logs |
|
reopen_logs() { |
|
configtest_q || return 6 |
|
echo -n $"Reopening $prog logs: " |
|
killproc -p $pidfile $prog -USR1 |
|
retval=$? |
|
echo |
|
return $retval |
|
} |
|
|
|
case "$1" in |
|
start) |
|
rh_status_q && exit 0 |
|
$1 |
|
;; |
|
stop) |
|
rh_status_q || exit 0 |
|
$1 |
|
;; |
|
restart|configtest|reopen_logs) |
|
$1 |
|
;; |
|
force-reload|upgrade) |
|
rh_status_q || exit 7 |
|
upgrade |
|
;; |
|
reload) |
|
rh_status_q || exit 7 |
|
$1 |
|
;; |
|
status|status_q) |
|
rh_$1 |
|
;; |
|
condrestart|try-restart) |
|
rh_status_q || exit 7 |
|
restart |
|
;; |
|
*) |
|
echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart|reopen_logs}" |
|
exit 2 |
|
esac
|
|
|