keepalived高可用
环境
两台虚拟机192.168.1.11和192.168.1.12,虚拟ip是192.168.1.100
配置两台nginx
192.168.1.11和192.168.1.12做同样操作
1、在nginx官网下载需要的nginx源码包,我这里下载的是1.20.1版本
2、安装依赖包及解压
#yum -y install gcc pcer-devel openssl-devel #安装依赖包
#useradd -s /sbin/nologin nginx #创建nginx用户
#tar -xvf nginx-1.20.1.tar.gz #解压
#cd nginx-1.20.1 #进入到nginx目录
#./configure \
--prefix=/usr/local/nginx 指定安装路径
--with-http_ssl_module 开启ssl加密功能
--user=nginx --group=nginx 指定用户和指定组
#make && make install #编译并安装
3、起服务
#/usr/local/nginx/sbin/nginx #起服务
#ss -nutlp | grep nginx #查看端口信息
4、测试
#curl http://192.168.1.12:8080
配置keepalived
1、 主服务器上操作 (192.168.1.11)
# yum install -y keepalived #安装keepalived
# vim /etc/keepalived/keepalived.conf #修改配置文件
global_defs {
router_id nginx1 #12行,设置路由ID号(实验需要修改)
vrrp_iptables #13行,清除防火墙的拦截规则(实验需要修改,手动添加该行)
}
vrrp_instance VI_1 {
state MASTER #21行,主服务器为MASTER(备服务器需要修改为BACKUP)
interface ens33 #22行,VIP配在哪个网卡(实验需要修改,不能照抄网卡名)
virtual_router_id 51 #23行,主备服务器VRID号必须一致
priority 100 #24行,服务器优先级,优先级高优先获取VIP
advert_int 1
authentication {
auth_type pass
auth_pass 1111
}
virtual_ipaddress { #30~32行,谁是主服务器谁获得该VIP(实验需要修改)
192.168.1.100/24
}
}
# systemctl start keepalived #启动keepalived
2、被备服务器上(192.168.1.12)
# yum install -y keepalived #安装keepalived
# vim /etc/keepalived/keepalived.conf #修改配置文件
global_defs {
router_id nginx2 #12行,设置路由ID号(实验需要修改)
vrrp_iptables #13行,清除防火墙的拦截规则(实验需要修改,手动添加该行)
}
vrrp_instance VI_1 {
state BACKUP #21行,备服务器为BACKUP(实验需要修改)
interface ens33 #22行,VIP配在哪个网卡(实验需要修改,不能照抄网卡名)
virtual_router_id 51 #23行,主辅VRID号必须一致
priority 50 #24行,服务器优先级(实验需要修改)
advert_int 1
authentication {
auth_type pass
auth_pass 1111
}
virtual_ipaddress { #30~32行,谁是主服务器谁配置VIP(实验需要修改)
192.168.1.100/24
}
}
# systemctl start keepalived #启动keepalived
配置防火墙和selinux
# firewall-cmd --set-default-zone=trusted
#sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config
# setenforce 0
测试
在192.168.1.11和192.168.1.12上测试,可以在主服务器看到虚拟IP,当192.168.1.11关闭时,虚拟IP会跑到备服务器上。
# ip addr show