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配置不过多配置说明贴个图