一:环境准备
192.168.159.128:安装keepalived+lvs
192.168.159.129:安装keepalived+lvs
192.168.159.130:安装nginx
192.168.159.131:安装nginx
二:配置
1,关闭四台虚拟机的防火墙,以192.168.159.128为例
关闭防火墙,查看防火墙状态,查看网络防火墙:已关闭
2,安装keepalived
yum install keepalived -y
显示安装成功。
3,配置主机keepalived
vim /etc/keepalived/keepalived.conf
MASTER:这是主机,备机为backup
ens33:网卡名称
100:优先级,数字越大,优先级越高,主机大于备机
192.168.159.170:虚拟ip
rr:设置为轮循方式
DR:Lvs模式为DR
下面两个为真实的服务器ip
4.配置备机keepalived
vim /etc/keepalived/keepalived.conf
备机为backup,优先级低于主机,这里设置为80,虚拟ip必须和主机设置的一样。
其他配置和主机相同。
配置完以后需要注释掉其他无用的行。
使用":set nu"显示行号,这里需要注释的是73行以后的行。使用命令"73,$s/^/#"
5.配置nginx服务器
vim /etc/nginx/conf.d/default.conf
使用80端口,在/var/www/html目录下找文件,另一台服务器配置和这台服务器相同。
访问192.168.159.130服务器会显示当前主机的IP。更改另一台服务器的文件内容为192.168.159.131。
6.在主机和备机上安装ipvsadm并配置
yum install ipvasdm
-A:创建集群
-s:指定算法,这里是rr(轮循)
-t:指定tcp
-a:添加RS
-g:定义为Lvs-DR模型
-l:查看
7.在nginx服务器上绑定vip到回环网卡上
vim /etc/sysconfig/network-scripts/ifcfg-lo
重启网卡,systemctl restart network
再次查看ip会发现已经有了vip。
8.在nginx服务器上调整内核参数
vim /etc/sysctl.conf
9.测试keepalived
原本vip在主机上,当我们停掉keepalived后,会发现vip消失,我们在备机上可以查到vip。
当我们重新启动主机keepalived时,vip就会回到主机上。
10.测试负载均衡
访问虚拟ip,会轮循显示130和131的数据。
我们在网页上查看vip,第一次是130,刷新以后变成131,两个IP会来回变化。
总结:利用vs+keepalived+nginx搭建高可用负载均衡集群,当主机宕机时,另一台主机会立刻工作,当主机修护时,vip又会跑到主机上,提高网页的高可用。keepalived也可以检测nginx服务器的状态,如果某台服务器出现问题,那么访问时会自动跳过这台服务器,访问其他服务器。