以nginx为例
安装两台nginx及keepalived配置高可用
两台安装nginx,我这边以源码安装为例
yum安装nginx
源码安装nginx
安装完成后启动,关闭防火墙及selinux
两台安装keepalived
yum install -y keepalived
修改配置文件
删除所有源文件
vim /etc/keepalived/keepalived.conf
master主机配置如下:
! Configuration File for keepalived
global_defs {
notification_email {
support@jfedu.net
}
notification_email_from wgkgood@163.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/data/sh/check_nginx.sh"
interval 2
weight 2
}
# VIP1
vrrp_instance VI_1 {
state MASTER
#master配置
interface ens33
#网卡名称 ens33
lvs_sync_daemon_inteface ens33
virtual_router_id 151
priority 100
#优先级
advert_int 5
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.248.128
#vip ip地址
}
}
backup主机配置如下:
! Configuration File for keepalived
global_defs {
notification_email {
support@jfedu.net
}
notification_email_from wgkgood@163.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/data/sh/check_nginx.sh"
interval 2
weight 2
}
# VIP1
vrrp_instance VI_1 {
state BACKUP
interface ens33
lvs_sync_daemon_inteface ens33
virtual_router_id 151
priority 90
advert_int 5
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.248.128
}
}
启动keepalived
systemctl start keepalived
使用vip地址访问测试
使用两台主机IP访问测试,保证都能访问
模拟master主机或者backup主机宕机(一台宕机),关闭主机或关闭keepalived及nginx(实验环境),使用vip地址访问,依旧正常访问
关闭keepalived
systemctl stop keepalived
关闭nginx
/usr/local/nginx/sbin/nginx -s stop
刷新测试vip地址正常
master主机访问异常
再次启动master及nginx
停用backup主机keepqlived及nginx测试
刷新页面查看vip地址依旧正常
backup主机无法正常访问
keepalived高可用功能不仅能监控主机健康情况,还可以针对应用,服务等