1,安装keepalived依赖的lib库
yum install -y libnl libnl-devel
yum install -y libnfnetlink-devel
yum install -y openssl openssl-devel
2,下载keepalived包到目录
3,解压keepalived tar-zxvf keepalived-1.4.5.tar(将解压的keepalived-1.4.5改名为keepalived-1.4.5tar)
4,进入keepalived目录:cd keepalived-1.4.5tar
5,指定安装地点 ./configure --prefix=/usr/local/keepalived-1.4.5
6,安装:make &&make install
7,在etc目录下创建keepalived文件夹:mkdir /etc/keepalived
8,cp /usr/local/keepalived-1.4.5/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived-1.4.5tar/keepalived/etc/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived-1.4.5/etc/sysconfig/keepalived /etc/sysconfig/
9,修改/etc/keepalived/keepalived.conf文件(主)
! Configuration File for keepalived
global_defs {
router_id vm11
}
vrrp_script chk_nginx {
script "/usr/local/keepalived-1.4.5/etc/keepalived/nginx_check.sh" # 检测 nginx 状态的脚本路径
interval 2
weight -20
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 33
mcast_src_ip 192.168.2.11 # 本机IP
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_nginx
}
virtual_ipaddress {
192.168.2.19 # 虚拟IP
}
}
10,修改/etc/keepalived/keepalived.conf文件(从)
! Configuration File for keepalived
global_defs {
router_id vm12
}
vrrp_script chk_nginx {
script "/usr/local/keepalived-1.4.5/etc/keepalived/nginx_check.sh"
interval 2
weight -20
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 33
mcast_src_ip 192.168.2.12 # 本机IP
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_nginx
}
virtual_ipaddress {
192.168.2.19# 虚拟IP
}
}
11,在/usr/local/keepalived-1.4.5/etc/keepalived/文件夹中添加nginx_check.sh(nginx检测文件)
#!/bin/bash
if [ "$(ps -C nginx --no-header|wc -l)" = "0" ];then
/usr/local/nginx-1.13.6/sbin/nginx
sleep 5
if [ 'ps -C nginx --no-header|wc -l' = "0" ];
then
service keepalived stop
fi
fi
13,给脚本赋执行权限:chmod +x /usr/local/keepalived-1.4.5/etc/keepalived/nginx_check.sh
启动keepalived:service keepalived start
关闭keepalived:service keepalived stop