nginx + keepalived 搭建教程

1.安装依赖

yum install -y keepalived
systemctl start keepalived
systemctl enable keepalived

2.配置

a. keepalived.conf配置

global_defs {
    router_id nginx_server2 # 机器标识(backup节点为nfs_server2)
}



vrrp_script chk {  
    script "/etc/keepalived/check_port.sh 192.168.1.151" 
    interval 1    # 脚本执行间隔(s)
    fall 2  # 转换为失败状态,所需的执行成功次数
    rise 30  # 转换为成功状态,所需的执行成功次数
    weight -20   
}

vrrp_instance nfs {
    state BACKUP 
    interface ens192  # 绑定的网卡(用来发VRRP包; 绑定VIP), 网卡down会进入FAULT状态
    virtual_router_id 9  
    priority 90 
    advert_int 1 
    authentication {
        # 认证权限,防止非法节点进入
        auth_type PASS
        auth_pass 12345678
    }

    virtual_ipaddress {
        # VIP, 可设置多个
        192.168.1.151
    }
    track_script {
        # 健康检查脚本
        chk
    }
    notify "/etc/keepalived/change_state.sh /var/log/keepalived.log"  
}

b. check_port.sh监听脚本

#!/bin/sh



isMaster=`ip addr show | grep "scope global" | grep $1`
if [ -n "$isMaster" ]
then
    PORT_PROCESS=`ps -ef | grep nginx | grep -v grep | wc -l`
    if [ $PORT_PROCESS -eq 0 ]
    then
        echo "nginx Is Not Running, End."
        exit 1
    fi
else
    echo "is backup"
fi

c. change_state.sh主从切换脚本(仅仅打印日志, 可去除)

#!/bin/sh



# 参数1: 转态变化输出文件; 参数3: VRRP 实例; 参数4: 新转态; 状态5: 权重
# 示例: /var/log/keepalived.log INSTANCE nfs MASTER 100

outFilename=$1
instance=$3
newState=$4
priority=$5
date=`date "+%Y-%m-%d %H:%M:%S"`
content="$date $3 change to $4, priority: $5"
echo "$content" >> $1

相关推荐

  1. elasticsearch教程

    2024-04-07 23:30:05       32 阅读
  2. nginx + keepalived 教程

    2024-04-07 23:30:05       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-07 23:30:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-07 23:30:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-07 23:30:05       87 阅读
  4. Python语言-面向对象

    2024-04-07 23:30:05       96 阅读

热门阅读

  1. Windows常用命令

    2024-04-07 23:30:05       38 阅读
  2. 基于YOLOv8的木材缺陷检测系统说明

    2024-04-07 23:30:05       36 阅读
  3. stable diffusion 预处理器解释大全,不断更新

    2024-04-07 23:30:05       41 阅读
  4. Qt Creator 设置 One Dark Pro主题

    2024-04-07 23:30:05       35 阅读
  5. 代码随想录

    2024-04-07 23:30:05       32 阅读
  6. PTA--《面向对象程序设计》作业2-类与对象

    2024-04-07 23:30:05       33 阅读
  7. 等保模型(烂码)

    2024-04-07 23:30:05       35 阅读