cd /usr/local/software/
tar -zxvf keepalived-1.2.18.tar.gz -C /usr/local/
yum install openssl-devel
cd /usr/local/keepalived-1.2.18/ && ./configure --prefix=/usr/local/keepalived
make && make install
cat /etc/rc.local
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/sbin/keepalived /usr/sbin/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
可以设置开机启动:chkconfig keepalived on,到此我们安装完毕!
cd /usr/local/
service keepalived start
ps -ef|grep keepalived
service keepalived restart
service keepalived stop
vim /etc/keepalived/keepalived.conf
ip a
inet 172.17.246.10/20 brd 172.17.255.255 scope global eth0
global_defs {
router_id localhost
}
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh" ##执行脚本位置
interval 2 ##检测时间间隔
weight -20 ## 如果条件成立则权重减20(-20)
}
track_script {
chk_nginx
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 59
mcast_src_ip 192.168.1.172 ## 本机ip地址
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_nginx
}
virtual_ipaddress {
192.168.200.16
}
}
====================================================================================
! Configuration File for keepalived
global_defs {
router_id localhost
}
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh" ##执行脚本位置
interval 2 ##检测时间间隔
weight -20 ## 如果条件成立则权重减20(-20)
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 59
mcast_src_ip 59.110.138.145
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_nginx
}
virtual_ipaddress {
192.168.200.16
}
}
=======================================================================================
cd /etc/keepalived/
vim nginx_check.sh
#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/software/nginx/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
chmod 777 /etc/keepalived/nginx_check.sh
vim /usr/local/software/nginx/conf/nginx.conf
/usr/local/software/nginx/sbin/nginx -s reload
service keepalived start
ip a
---------------------
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:16:3e:06:97:45 brd ff:ff:ff:ff:ff:ff
inet localhost/20 brd 172.17.255.255 scope global eth0
inet 192.168.200.16/32 scope global eth0
----------------------
service keepalived status