Keepalived 配置Nginx自动重启, 实现7 * 24小时不间断服务

1. 在 128 虚拟机中配置如下脚本

  1. 进入keepalived配置文件目录
    cd /etc/keepalived/
    在这里插入图片描述

  2. 该目录下创建文件 check_nginx_alive_or_not.sh, 并且写入如下脚本
    vim check_nginx_alive_or_not.sh

#!/bin/bash

A=`ps -C nginx --no-header |wc -l`
# 判断nginx是否宕机, 如果宕机了, 尝试重启
if [ $A -eq 0 ];then
     /usr/local/nginx/sbin/nginx
     # 等待一小会再次检查nginx, 如果没用启动成功, 则停止keepalived, 使其启动备用机
     sleep 3
     if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
         killall keepalived
     fi
fi
  1. 保存退出后, 进行配置文件的赋权限
    chmod +x check_nginx_alive_or_not.sh
    在这里插入图片描述
  2. 启动改脚本文件
    ./check_nginx_alive_or_not.sh
    在这里插入图片描述

2. 在128服务器的keepalived配置文件中进行定时监听该脚本文件

  1. 进入keepalived.conf 文件
    vim keepalived.conf
  2. 添加如下监听配置
vrrp_script check_nginx_alive {
        script "/etc/keepalived/check_nginx_alive_or_not.sh"
        interval 2 # 每隔2秒进行运行上一行的脚本文件
        weight 10 # 如果脚本运行成功的话, 则该服务器的权重 +10
        # weight -10 # 如果脚本运行失败的话, 则该服务器的权重 -10

}

在这里插入图片描述

  1. 同样在该配置文件中的实例服务器调用上面的监听配置
    track_script {
        check_nginx_alive  # 追踪上面配置的 nginx 脚本
    }

在这里插入图片描述
4. 保存退出

重启服务

systemctl restart keepalived.service

测试:

  1. 关闭ngixn服务
    在这里插入图片描述
  2. 进行浏览器访问
    在这里插入图片描述

如上即实现Nginx自动重启

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐