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
相关推荐
lihui_cbdd12 分钟前
AMBER 24 生产环境部署完全指南(5090可用)
linux·计算化学
开发者小天3 小时前
python中For Loop的用法
java·服务器·python
绾樘3 小时前
RHCE--基于Nginx的Web服务器配置
运维·服务器·nginx
生活很暖很治愈3 小时前
Linux基础开发工具
linux·服务器·git·vim
似霰4 小时前
Linux Shell 脚本编程——核心基础语法
linux·shell
步步为营DotNet6 小时前
深度剖析.NET中IHostedService:后台服务管理的关键组件
服务器·网络·.net
一叶星殇6 小时前
.NET WebAPI:用 Nginx 还是 IIS 更好
运维·nginx·.net
LUCIFER6 小时前
[驱动进阶——MIPI摄像头驱动(五)]rk3588+OV13855摄像头驱动加载过程详细解析第四部分——ISP驱动
linux·驱动开发
暮云星影7 小时前
四、linux系统 应用开发:UI开发环境配置概述 (一)
linux·ui·arm
a程序小傲8 小时前
得物Java面试被问:RocketMQ的消息轨迹追踪实现
java·linux·spring·面试·职场和发展·rocketmq·java-rocketmq