客户端访问HAProxy,HAProxy分发请求到后端Real Server
开启HAProxy监控页面,及时查看调度器状态
设置HAProxy为开机启动
Hapoxy是代理服务器(帮你干活的人或物就是你的代理)
步骤
web1配置本地真实IP地址(不能照抄网卡名)。
[root@web1 ~]# nmcli connection modify eth1 ipv4.method manual \
ipv4.addresses 192.168.2.100/24 connection.autoconnect yes
[root@web1 ~]# nmcli connection up eth1
Web2配置本地真实IP地址(不能照抄网卡名)。
[root@web2 ~]# nmcli connection modify eth1 ipv4.method manual \
ipv4.addresses 192.168.2.200/24 connection.autoconnect yes
[root@web2 ~]# nmcli connection up eth1
proxy关闭keepalived服务,清理LVS规则,不能照抄网卡名。
[root@proxy ~]# systemctl stop keepalived
[root@proxy ~]# systemctl disable keepalived
[root@proxy ~]# ipvsadm -C
[root@proxy ~]# nmcli connection modify eth0 ipv4.method manual \
ipv4.addresses 192.168.4.5/24 connection.autoconnect yes
[root@proxy ~]# nmcli connection up eth0
[root@proxy ~]# nmcli connection modify eth1 ipv4.method manual \
ipv4.addresses 192.168.2.5/24 connection.autoconnect yes
[root@proxy ~]# nmcli connection up eth1
步骤一:配置后端Web服务器
设置两台后端Web服务(如果已经配置完成,可忽略此步骤)
[root@web1 ~]# yum -y install httpd
[root@web1 ~]# systemctl start httpd
[root@web1 ~]# echo "192.168.2.100" > /var/www/html/index.html
[root@web2 ~]# yum -y install httpd
[root@web2 ~]# systemctl start httpd
[root@web2 ~]# echo "192.168.2.200" > /var/www/html/index.html
步骤二:部署HAProxy服务器
1)配置网络,安装软件
[root@proxy ~]# yum -y install haproxy
2)修改配置文件
[root@proxy ~]# vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2 ##[err warning info debug]
pidfile /var/run/haproxy.pid ##haproxy的pid存放路径
user haproxy
group haproxy
daemon ##以后台进程的方式启动服务
defaults
mode http ##默认的模式mode { tcp|http|health }
option dontlognull ##不记录健康检查的日志信息
option httpclose ##每次请求完毕后主动关闭http通道
option httplog ##日志类别http日志格式
option redispatch ##当某个服务器挂掉后强制定向到其他健康服务器
timeout client 300000 ##客户端连接超时,默认毫秒,也可以加时间单位
timeout server 300000 ##服务器连接超时
maxconn 3000 ##最大连接数
retries 3 ##3次连接失败就认为服务不可用,也可以通过后面设置
listen websrv-rewrite 0.0.0.0:80
balance roundrobin
server web1 192.168.2.100:80 check inter 2000 rise 2 fall 5
server web2 192.168.2.200:80 check inter 2000 rise 2 fall 5
#定义集群,listen后面的名称任意,端口为80
#balance指定调度算法为轮询(不能用简写的rr)
#server指定后端真实服务器,web1和web2的名称可以任意
#check代表健康检查,inter设定健康检查的时间间隔,rise定义成功次数,fall定义失败次数
listen stats *:1080 #监听端口
stats refresh 30s #统计页面自动刷新时间
stats uri /stats #统计页面url
stats realm Haproxy Manager #进入管理解面查看状态信息
stats auth admin:admin #统计页面用户名和密码设置
3)启动服务器并设置开机启动
[root@proxy ~]# systemctl restart haproxy
[root@proxy ~]# systemctl enable haproxy
步骤三:客户端验证
客户端配置与HAProxy相同网络的IP地址,并使用火狐浏览器访问http://192.168.4.5,测试调度器是否正常工作,客户端访问http://192.168.4.5:1080/stats测试状态监控页面是否正常。访问状态监控页的内容,参考图所示。