模拟Nginx服务启动关闭

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟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管理。

[[email protected] ~]# 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

[[email protected] ~]# ls -l /etc/init.d/nginx
-rwxr-xr-x. 1 root root 1680 Jun  9 12:13 /etc/init.d/nginx
[[email protected] ~]# 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服务启动关闭的主要内容,如果未能解决你的问题,请参考以下文章

Nginx——Nginx启动报错Job for nginx.service failed because the control process exited with error code(代码片段

服务器启动与关闭

我的 NGINX 服务器已关闭。如何重新启动它?我对 NGINX 和 CentOS 还很陌生

nginx怎样告诉搜索引擎网站已永久关闭

使用代码关闭位置服务警报

nginx 安装启动重启关闭 (linux系统命令行)