nginx异常重启

宝塔定时任务上添加 定时任务, 每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
相关推荐
晚枫歌F1 小时前
Dpdk介绍
linux·服务器
风送雨2 小时前
FastMCP 2.0 服务端开发教学文档(下)
服务器·前端·网络·人工智能·python·ai
model20054 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
yuhaiqun19894 小时前
学服务器训练AI模型:5步路径助力高效入门
运维·服务器·人工智能·笔记·机器学习·ai
阿杰 AJie4 小时前
主流传输 /通信协议的【使用场景 + 详细使用说明】大全
服务器·tcp/ip
工程师老罗4 小时前
龙芯2k0300 PMON取消Linux自启动
linux·运维·服务器
千百元5 小时前
centos如何删除恶心定时任务
linux·运维·centos
skywalk81635 小时前
网站证书自动续订失败的问题解决,原来是续订指令certbot renew出错,导致crontab定时任务续订失败
运维·服务器·证书·certbot
额呃呃5 小时前
游戏服务器和一般高性能服务器的区别
运维·服务器·游戏
liwulin05065 小时前
【JAVA】创建一个不需要依赖的websocket服务器接收音频文件
java·服务器·websocket