dfsfd 发表于 2017-10-26 14:51:59

Nginx启动脚本

#! /bin/sh
# chkconfig: 2345 55 25
# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and
# run 'update-rc.d -f nginx defaults', or use the appropriate command on your
# distro. For CentOS/Redhat run: 'chkconfig --add nginx'
### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:   $all
# Default-Start:   2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO
# Author:   laoyan1997@163.com
# website:http://xmomo.blog.51cto.com
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# Nginx 安装的路径
NGINX_PATH=/usr/local/nginx/
NAME=nginx
NGINX_BIN=$NGINX_PATH/sbin/$NAME
CONFIGFILE=$NGINX_PATH/conf/$NAME.conf
PIDFILE=$NGINX_PATH/logs/$NAME.pid
#启动Nginx
case "$1" in
    start)
      echo -n "Starting $NAME... "
if [ -f $PIDFILE ];then
mPID=`cat $PIDFILE`
isStart=`ps ax | awk '{ print $1 }' | grep -e "^${mPID}$"`
if [ "$isStart" != '' ];then
echo "$NAME (pid `pidof $NAME`) already running."
exit 1
fi
fi
      $NGINX_BIN -c $CONFIGFILE
      if [ "$?" != 0 ] ; then
            echo " failed"
            exit 1
      else
            echo " done"
      fi
      ;;
#停止Nginx
    stop)
      echo -n "Stoping $NAME... "
if [ -f $PIDFILE ];then
mPID=`cat $PIDFILE`
isStart=`ps ax | awk '{ print $1 }' | grep -e "^${mPID}$"`
if [ "$isStart" = '' ];then
echo "$NAME is not running."
exit 1
fi
else
echo "$NAME is not running."
exit 1
      fi
      $NGINX_BIN -s stop
      if [ "$?" != 0 ] ; then
            echo " failed. Use force-quit"
            exit 1
      else
            echo " done"
      fi
      ;;
#Nginx状态
    status)
if [ -f $PIDFILE ];then
mPID=`cat $PIDFILE`
isStart=`ps ax | awk '{ print $1 }' | grep -e "^${mPID}$"`
if [ "$isStart" != '' ];then
echo "$NAME (pid `pidof $NAME`) already running."
exit 1
else
echo "$NAME is stopped"
exit 0
fi
else
echo "$NAME is stopped"
exit 0
      fi
      ;;
#重启Nginx
    restart)
      $0 stop
      sleep 1
      $0 start
      ;;
#重载Nginx
    reload)
      echo -n "Reload service $NAME... "
if [ -f $PIDFILE ];then
mPID=`cat $PIDFILE`
isStart=`ps ax | awk '{ print $1 }' | grep -e "^${mPID}$"`
if [ "$isStart" != '' ];then
$NGINX_BIN -s reload
echo " done"
else
echo "$NAME is not running, can't reload."
exit 1
fi
else
echo "$NAME is not running, can't reload."
exit 1
fi
      ;;
#检测nginx配置语法
    configtest)
      echo -n "Test $NAME configure files... "
      $NGINX_BIN -t
      ;;
    *)
      echo "Usage: $0 {start|stop|restart|reload|status|configtest}"
      exit 1
      ;;
esac


页: [1]
查看完整版本: Nginx启动脚本