keepalived+nginx双机热备
1 配置VIP
2 安装keepalived
3 配置keepalived
4 测试
服务器准备
192.168.230.105(主)
192.168.230.106(从)
VIP:127.0.0.0
要配置系统文件网络文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
E=eth0:0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
DNS1=192.168.230.2
IPADDR=192.168.230.105
NETMASK=255.255.255.0
GETWAY=192.168.230.105
2.1 安装keepalived
使用yum install keepalived -y安装keepalived
cd /etc/keepalived
vim keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
gtjin@bjsxt.com
}
notification_email_from keepmanger@126.com
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id nginx1
}
vrrp_script chk_nginx {
script "/home/check_nginx.sh"
interval 2 #每隔 2 秒检查一次
#weight -20
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 105
priority 100
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.230.200/24 dev eth0 label eth0:3
}
track_script {
chk_nginx #调用上面定义好检测
}
}
将配置文件远程拷贝到 nginx2 上一份
[root@nginx1 ~]# scp /etc/keepalived/keepalived.conf
root@nginx2:/etc/keepalived
去Nginx2上修改keepalived.conf文件
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 106
priority 90
}
nginx1 上启动 keepalived
[root@node1 keepalived]# service keepalived start
用浏览器访问:http://192.168.230.200不断的刷新
nginx2 上启动 keepalived
[root@nginx2 keepalived]# service keepalived start
8.nginx2 上检查,没有启动 eth0:3 的网卡
[root@nginx2 keepalived]# ifconfig
……
9.将 nginx1 上的 nginx down 掉并测试
[root@nginx1 keepalived]# service nginx stop
[root@nginx1 keepalived]# ifconfig
nginx2 上查看,
[root@nginx2 keepalived]# ifconfig
10.将 nginx1 上的 nginx 和 keepalived 起来并测试
[root@node1 keepalived]# service nginx start
[root@node1 keepalived]# service keepalived start
8
nginx1 上查看,
[root@nginx1 keepalived]# ifconfig
[root@nginx1 ~]# ps aux |grep keepalived