使用Nginx作为负载调度器,通过四层代理转发给web器处理请求,实现负载均衡;
在Nginx调度器上配置脚本监控(健康检查),实现主备热备份,当主失效切换至备工作。
Web 服务器1:192.168.75.50(VIP 192.168.75.111)
Web 服务器2:192.168.75.60(VIP 192.168.75.111)Nginx+keepalived 主负载调度器:192.168.75.30(VIP 192.168.75.111)
Nginx+keepalived 备负载调度器:192.168.75.80(VIP 192.168.75.111)
客户端(本机):192.168.75.1
两台都用yum安装Nginx服务(使用编译安装需要加上--with-stream模块)和keepalived服务
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
#yum下载
yum install -y nginx
yum install -y keepalived
修改主调度器nginx配置文件
?修改主调度器keepalived配置文件
?编写监控脚本
在主调度器keepalived的配置中添加指定脚本文件
将以上配置文件复制到备服务器对应目录下进行修改(nginx配置不变)
?
两边都启动nginx和keepalived服务
systemctl start nginx
systemctl start keepalived
?
?查看第一台web服务器的网卡配置(192.168.75.50)
虚拟网卡成功添加
关闭第一台web服务器的keepalived服务,查看vip是否漂移到第二台备服务器上(192.168.75.60)
成功漂移
下载http服务
关闭安全机制
systemctl stop firewalld
setenforce 0
下载开启httpd
yum -y install httpd
systemctl start httpd
?在两台web服务器的/var/www/html路径下分别添加网页配置文件
第一台(192.168.75.50)
第二台(192.168.75.60)
?
给两台web服务器添加vip (两台一样)
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.75.111
NETMASK=255.255.255.255
service network restart 或 systemctl restart network
ifup lo:0
ifconfig lo:0
route add -host 192.168.75.111 dev lo:0
?
配置内核文件(两台一样)
vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p
?
在客户端访问 http://192.168.75.111:9527
?