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
相关推荐
HIT_Weston12 小时前
26、【Ubuntu】【远程开发】内网穿透:密钥算法介绍(二)
linux·运维·ubuntu
zl_dfq14 小时前
Linux第一个小程序 之 【进度条】
linux
wdfk_prog14 小时前
[Linux]学习笔记系列 -- [kernel]kthread
linux·笔记·学习
大地的一角14 小时前
(Linux)ELF格式与库的链接原理
linux·运维·服务器
z2023050814 小时前
Linux之中断子系统-内核中断注册源码分析(4)
linux·运维·服务器
深思慎考15 小时前
微服务即时通讯系统(服务端)——用户子服务实现逻辑全解析(4)
linux·c++·微服务·云原生·架构·通讯系统·大学生项目
Sunlightʊə16 小时前
2.登录页测试用例
运维·服务器·前端·功能测试·单元测试
Red丶哞16 小时前
Docker 安装部署Prometheus
linux·云原生·容器·kubernetes
利刃大大17 小时前
【高并发服务器:HTTP应用】十六、HttpContext上下文模块 && HttpServer服务器模块&& 服务器测试
运维·服务器·http·高并发·项目
wanhengidc17 小时前
云手机通常使用什么架构
服务器·网络·安全·游戏·智能手机·云计算