宝塔定时任务上添加 定时任务, 每10分钟 执行一次, 用于判断 nginx 是否异常导致 所有访问都访问不了,如果是, 则 重启nginx
这里需要创建一个 127.0.0.1 的站点 用来判断nginx是否正常
- #!/bin/bash
-
- # Nginx 正常运行的端口号
- NGINX_PORT=80
-
- # Nginx 进程名称
- NGINX_PROCESS_NAME="nginx"
-
- # 检查 Nginx 是否运行
- function check_nginx {
- local nginx_pid=$(ps aux | grep $NGINX_PROCESS_NAME | grep -v grep | awk '{print $2}')
- if [ -z "$nginx_pid" ]; then
- echo "Nginx is not running."
- return 1
- else
- # 检查 Nginx 是否响应 --connect-timeout 2
- local nginx_response=$(curl --connect-timeout 2 -I -m 10 -o /dev/null -s -w "%{http_code}\n" "http://127.0.0.1:$NGINX_PORT")
- # $nginx_response 为 000 就是超时
- if [ "$nginx_response" != "200" ]; then
- echo "Nginx is not responding. Restarting..."
- echo $nginx_response
- restart_nginx
- return 1
- else
- echo "127.0.0.1 run status is 200"
- fi
- fi
- return 0
- }
-
- # 重启 Nginx 函数
- function restart_nginx {
- service nginx stop
- sleep 10s
- service nginx start
- echo "restart nginx ok"
- }
-
- check_nginx