首页 > 代码库 > 模拟Nginx服务启动关闭

模拟Nginx服务启动关闭

已知Nginx管理命令为:

启动:/application/nginx/sbin/nginx

停止:/application/nginx/sbin/nginx -s stop

重新加载:/application/nginx/sbin/nginx -s reload

请用case脚本模拟Nginx服务启动关闭:

/etc/init.d/nginx {start|stop|reload|restart},并可通过chkconfig管理。

[root@web01 ~]# cat /etc/init.d/nginx
#/bin/sh
# chkconfig: 2345 15 62  #设定运行级别以及启动和停止Nginx服务顺序
# description: Nginx Server  #脚本说明

[ -f /etc/init.d/functions]&&. /etc/init.d/functions||exit 1

#Define Arivables
Path=/application/nginx/sbin/nginx
RETVAL=0
 
#Define Start Function
start() {
  if [ `ss -lntup|grep nginx|wc -l` -gt 0];then
    echo "Nginx is Running..."
    else
      $Path
      RETVAL=$?
      if [ $RETVAL -eq 0 ];then
        action "Starting Nginx..."/bin/true
        else
        action "Starting Nginx..."/bin/false
      fi
  fi
  return $RETVAL
}
#Define Stop Function
stop() {
  if [ `ss -lntup|grep nginx|wc -l` -gt 0];then
      $Path -s stop
      RETVAL=$?
      if [ $RETVAL -eq 0 ];then
        action "Stopping Nginx..."/bin/true
        else
        action "Stopping Nginx..."/bin/false
      fi
    else
    echo "Nginx is Stopped"
  fi
  return $RETVAL
}
#Define Restart Function
reload() {
  if [ `ss -lntup|grep nginx|wc -l` -gt 0];then
      $Path -s reload
      RETVAL=$?
      if [ $RETVAL -eq 0 ];then
        action "Reloading Nginx..."/bin/true
        else
        action "Reloading Nginx..."/bin/false
      fi
    else
    echo "Nginx is Stopped"
  fi
  return $RETVAL
}
#Define Restart Function
restart() {
  stop
  sleep 1
  start
  return $RETVAL
}
case "$1" in
  start)
        start
        RETVAL=$?
        ;;
  stop)
        stop
        RETVAL=$?
        ;;
  reload)
        reload
        RETVAL=$?
        ;;
  restart)
        restart
        RETVAL=$?
        ;;
  *)
        echo "USAGE:$0 {start|stop|reload|restart}"
        RETVAL=2
        ;;
esac
exit $RETVAL

[root@web01 ~]# ls -l /etc/init.d/nginx
-rwxr-xr-x. 1 root root 1680 Jun  9 12:13 /etc/init.d/nginx
[root@web01 ~]# chkconfig --list|grep nginx
nginx           0:off 1:off 2:on 3:on 4:on 5:on 6:off



本文出自 “BidongWeb” 博客,请务必保留此出处http://jibidong.blog.51cto.com/11717102/1933791

模拟Nginx服务启动关闭