1.配置keepalive
mkdir /etc/keepalived/
# 复制keepalived.conf
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
#复制系统相关文件
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
# 复制启动类文件,这个是在keepalived解压出来的源码包里面,位置不一样
#(1.4以后都是在解压里面,1.4以前是在/usr/local/keepalived下面rc.d文件夹里面)
cp /usr/local/java/keepalived/keepalived-2.2.4/keepalived/etc/init.d/keepalived /etc/init.d/
2.编写检测nginx是否正常运行的脚本文件
cd /etc/keepalived/ vi nginx_check.sh
编写nginx_check.sh脚本
#! /bin/bash
A=`ps -C nginx --no-header |wc -l`
#echo $A
if [ $A -eq 0 ];then
echo 'nginx not running, stop keepalived!'
systemctl stop keepalived
fi
赋权
chmod 777 nginx_check.sh #chmod +x nginx_check.sh 也可以
3、编写keepalived.conf 配置文件
查看本机ip网络配置 ifconfig
在两台机器配置keepalived.conf里面输入以下脚本代码,路径:/etc/keepalived/下
! Configuration File for keepalived
global_defs {
#路由id,主备节点不能相同
router_id node148
}
#自定义监控脚本
vrrp_script chk_haproxy {
# 脚本位置
script "/etc/keepalived/nginx_check.sh"
# 脚本执行的时间间隔
interval 1
weight 0
}
vrrp_instance VI_1 {
# Keepalived的角色,MASTER 表示主节点,BACKUP 表示备份节点
state MASTER
# 指定监测的网卡,可以使用 ifconfig 或 ip a 进行查看
interface eth0
# 虚拟路由的id,主备节点需要设置为相同
virtual_router_id 51
# 优先级,主节点的优先级需要设置比备份节点高
priority 100
# 设置主备之间的检查时间,单位为秒
advert_int 1
# 定义验证类型和密码
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.168.9.210/24 dev eth0 label eth0:1
}
# 调用上面自定义的监控脚本
track_script {
chk_haproxy
}
}
怕有人想不通一些地方,贴个配置自己验证下,那里有问题
关闭节点验证,ip进行漂移说明配置成功
nginx配置不过多配置说明贴个图