Created
April 6, 2013 04:00
-
-
Save jeremychone/5324712 to your computer and use it in GitHub Desktop.
The init.d/openresty file for Amazon Linux (and probably redhat linux families). Just based on the default init.d/nginx (that comes from a standard "yum install nginx"
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
#!/bin/sh | |
# | |
# openresty adapted script to start and stop the openresty compiled | |
# nginx daemon | |
# --- original nginx comment --- | |
# 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 | |
# --- /orginal nginx comment --- | |
# --- openresty comment --- | |
# override config with the default open resty location | |
# config: /usr/local/openresty/nginx/conf/nginx.conf | |
# config: /etc/sysconfig/openresty | |
# pidfile: /usr/local/openresty/nginx/logs/nginx.pid | |
# NOTE: need to go to the openrest/nginx/conf/nginx.conf and uncomment | |
# the "pid logs/nginx.pid" | |
# --- /openresty comment --- | |
# 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 original: | |
# nginx="/usr/sbin/nginx" | |
# openresty new value: | |
nginx="/usr/local/openresty/nginx/sbin/nginx" | |
prog=$(basename $nginx) | |
sysconfig="/etc/sysconfig/$prog" | |
# nginx original: | |
# lockfile="/var/lock/subsys/nginx" | |
# openresty new value: | |
lockfile="/var/lock/subsys/openresty" | |
# nginx original: | |
# pidfile="/var/run/${prog}.pid" | |
# openresty new value: | |
pidfile="/usr/local/openresty/nginx/logs/nginx.pid" | |
# nginx original: | |
# NGINX_CONF_FILE="/etc/nginx/nginx.conf" | |
# openresty new value: | |
NGINX_CONF_FILE="/usr/local/openresty/nginx/conf/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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment