nginx服务管理脚本分享

cat nginx.sh

#!/bin/bash
# by www.cnbugs.com
#name wangxuejin
#date 2021-12-16

nginx_install=/usr/local/nginx
nginxd=$nginx_install/sbin/nginx
pid_file=$nginx_install/logs/nginx.pid
if [ -f /etc/init.d/functions ];then
 . /etc/init.d/functions
fi


if [ -f $pid_file ];then
  nginx_process_id=`cat $pid_file`
  nginx_process_num=`ps aux|grep $nginx_process_id|grep -v "grep"|wc -l`
fi
#variadbles

#function
start () {
if [ -f $pid_file ];then
  nginx_process_id=`cat $pid_file`
  nginx_process_num=`ps aux|grep $nginx_process_id|grep -v "grep"|wc -l`
fi
if [ -f $pid_file ]&&[ $nginx_process_num -ge 1 ];then
   echo "nginx running..."
else
   if [ -f $pid_file ]&&[ $nginx_process_num -lt 1 ];then
       rm -f $pid_file
      # echo " nginx start `daemon $nginxd` "
        action "nginx start" $nginxd
   fi

       #echo " nginx start `daemon $nginxd` "
        action "nginx start" $nginxd
fi
}

stop () {
if [ -f $pid_file ]&&[ $nginx_process_num -ge 1 ];then
        action "nginx stop" killall -s QUIT $nginxd
        rm -f $pid_file
else
        action "nginx stop" killall -s QUIT $nginxd 2>/dev/null
fi
}

restart () {
  stop
  sleep1
  start
}

reload () {
 if [ -f $pid_file ]&&[ $nginx_process_num -ge 1 ];then
        action "nginx reload" killall -s HUP nginx
else
        action "nginx reload" killall -s HUP nginx 2>/dev/null
fi
}

status () {
 if [ -f $pid_file ]&&[ $nginx_process_num -ge 1 ];then
        echo "nginx running..."
else
        echo "nginx stop"
fi

}

#callable
case $1 in
start) start;;
stop) stop;;
restart) restart;;
reload) reload;;
status) status;;
*) echo "USAGE: $0 start|stop|restart|reload|status"
esac

使用方法:

把nginx文件放入/etc/init.d/下面

启动nginx

systemctl start nginx
service nginx start

停止nginx

systemctl stop nginx
service nginx stop

查看状态

systemctl status nginx
service nginx status

发表评论

后才能评论