nginx服务挂掉自启动脚本

#!/bin/bash

# 加载环境变量
source /etc/profile

# nginx 和 resin 监听的端口号为 80 和 8080 ,检查 80 和 8080 端口是否有进程在监听
port=`netstat -ntlp | grep -cE ":8080|:80"`
#echo $port

# 如果 80 或 8080 端口没有进程在监听
if [ "$port" = "0" -o "$port" = "1" ]; then
    # 则重新启动 nginx 和 resin 的进程
    /usr/java/resin/bin/httpd.sh restart
    /etc/init.d/nginx restart
 
    # 将日志写入日志文件
    echo $(date "+%F %H:%M:%S") - already restart port - process not found >> /root/port.log
# 如果 80 或 8080 端口有进程在监听
else
    # 访问接口
    code=`curl http://127.0.0.1/check.jsp`

    # 如果返回的字符串不是 ok
    if [ "$code" != "ok" ]; then
        # 则重新启动 nginx 和 resin 的进程
        /usr/java/resin/bin/httpd.sh restart
        /etc/init.d/nginx restart

        # 将日志写入日志文件
        echo $(date "+%F %H:%M:%S") - already restart port - check fail ! >> /root/port.log
    fi
fi



或者使用monitor监控来实现服务器的自启动
posted @ 2021-02-23 18:06  woaibaobei  阅读(338)  评论(0编辑  收藏  举报