环境:
- 准备5台服务器,两台作为nginx服务器(nginx-1,nginx-2),两台作代理服务器(proxy-1,proxy-2),一台作为客户端,
- 本实验的架构图为:
- 关闭防火墙和seliunx
systemctl stop firewalld && setenforce 0
配置nginx-1(nginx-2一样)
echo "验证内容" >/usr/share/nginx/html/index.html
配置proxy-1(proxy-2一样)
- 配置负载均衡
配置主配置文件,在http标签下添加upstream标签
upstream index {
server 192.168.139.131:80 weight=1 max_fails=2 fail_timeout=2;
server 192.168.139.132:80 weight=2 max_fails=2 fail_timeout=2;
}
配置子配置文件
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://index;
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
- 下载安装keepalived
yum -y install keepalived
修改配置文件
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id director1 #辅助改为director2
}
vrrp_instance VI_1 {
state MASTER #定义主还是备(是备的话改为BACKUP)
interface ens33 #VIP绑定接口
virtual_router_id 80 #整个集群的调度器一致
priority 100 #back改为50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.246.16/24 //添加VIP(可以自主的设置)
}
启动keepalived
systemctl start keepalived
查看ip
ip a
检测
在客户端访问