nginx service script
#! /bin/sh
# chkconfig: 2345 55 25
NGINX_BIN='/usr/local/nginx/sbin/nginx'
CONFIG='/usr/local/nginx/conf/nginx.conf'
case "$1" in
start)
echo -n "Starting nginx... "
PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
if [ "$PID" != "" ]; then
echo "nginx (pid $PID) already running."
exit 1
be
$NGINX_BIN -c $CONFIG
if [ "$?" != 0 ]; then
echo " failed"
exit 1
else
echo " done"
be
;;
stop)
echo -n "Stoping nginx... "
PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
if [ "$PID" = "" ]; then
echo "nginx is not running."
exit 1
be
$NGINX_BIN -s stop
if [ "$?" != 0 ] ; then
echo " failed. Use force-quit"
$0 force-quit
else
echo " done"
be
;;
status)
PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
if [ "$PID" != "" ]; then
echo "nginx (pid $PID) is running..."
else
echo "nginx is stopped."
exit 0
be
;;
force-quit|kill)
echo -n "Terminating nginx... "
PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
if [ "$PID" = "" ]; then
echo "nginx is is stopped."
exit 1
be
kill $PID
if [ "$?" != 0 ]; then
echo " failed"
exit 1
else
echo " done"
be
;;
restart)
$0 stop
sleep 1
$0 start
;;
reload)
echo -n "Reload nginx... "
PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
if [ "$PID" != "" ]; then
$NGINX_BIN -s reload
echo " done"
else
echo "nginx is not running, can't reload."
exit 1
be
;;
configtest)
echo -n "Test nginx configure files... "
$NGINX_BIN -t
;;
*)
echo "Usage: $0 {start|stop|restart|reload|status|configtest|force-quit|kill}"
exit 1
;;
Summary: The main investigation is
Script writing service
Writing case conditional statement