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
相关推荐
wa的一声哭了5 分钟前
Mac os安装Easyconnect卡在正在验证软件包
运维·服务器·git·macos·eclipse·github·mac
2501_9387918314 分钟前
服务器上的 VsCode:Github Copilot 显示 “连接失败”?网络与权限排查
服务器·vscode·github
Elias不吃糖21 分钟前
Linux 环境适应 Day 1 全面笔记
linux·c++·笔记
Xiaok101823 分钟前
libpcap 抓包:从打开网卡到解析数据包
服务器·网络·php
不像程序员的程序媛23 分钟前
Linux本机ping虚机ip Network unreachable
linux·运维·tcp/ip
wanhengidc25 分钟前
服务器硬盘的作用都有哪些?
运维·服务器·安全·智能手机·云计算
爱奥尼欧26 分钟前
【Linux笔记】网络部分——传输层协议TCP(1)
linux·运维·网络·笔记·tcp/ip·1024程序员节
二进制coder26 分钟前
Linux I2C子系统全面详解:从理论到实战
linux·运维·服务器
菲橙29 分钟前
5.2 MCP服务器
运维·服务器
在坚持一下我可没意见1 小时前
Java 网络编程:TCP 与 UDP 的「通信江湖」(基于TCP回显服务器)
java·服务器·开发语言·笔记·tcp/ip·udp·java-ee