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
相关推荐
用户120487221615 小时前
Linux驱动编译与加载
linux·嵌入式
程序员老赵7 小时前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
vivo互联网技术11 小时前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户8055336980311 小时前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户8055336980312 小时前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房1 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia2 天前
linux curl命令详解_curl详解
linux
扛枪的书生2 天前
Linux 网络管理器用法速查
linux
顺风尿一寸2 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux