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
相关推荐
weixin_511255218 小时前
NGINX常用配置
linux·服务器·nginx
荣合技术服务8 小时前
电脑多,单个加域麻烦?下载此AD域加域助手,批量加域速度快
运维·服务器·ad域控
昌原的儿子LEO8 小时前
进程和线程(2)
linux·服务器·网络
小王C语言9 小时前
云服务器重置后,vscode无法远程连接
运维·服务器
RoboWizard9 小时前
金士顿高性能存储 赋能工控行业多场景深度落地
运维·服务器
会飞的土拨鼠呀9 小时前
Linux 真实内存使用率的核心计算标准
linux·运维·服务器
智购科技自动售货机工厂9 小时前
2026自动售货机语音支付模块集成:从声纹识别到支付闭环的工程实践~YH
大数据·服务器·网络·数据库·人工智能
陈年老古董10 小时前
CentOS编译安装Python3.11完整教程
linux·笔记·学习·centos·python3.11
深念Y10 小时前
为什么选 Go:直观、可维护、AI 友好
linux·开发语言·人工智能·golang·agent·harness
笨笨饿10 小时前
#111_关于FreeRTOS面试的一些题目
linux·ubuntu·面试·职场和发展·centos·rtos