目录
一、proxies配置实验
实验一 backup
#将后端服务器标记为备份状态,只在所有非备份主机down机时提供服务,类似Sorry
[root@haproxy ~]# dnf install httpd -y
[root@haproxy ~]# vim /etc/httpd/conf/httpd.conf
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
[root@haproxy ~]# systemctl enable --now httpd
[root@haproxy ~]# echo sorry 下班了 > /var/www/html/index.html
实验二 disabled
#将后端服务器标记为不可用状态,即维护状态,除了持久模式,将不再接受连接,状态为深黄色,优雅下线,不再接受新用户的请求
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
[root@haproxy ~]# systemctl restart haproxy.service
此时,web1下线,访问不到web1。
实验三 redirect
将请求临时重定向至其他URL,只适用于HTTP模式
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
[root@haproxy ~]# systemctl restart haproxy.service
当访问172.25.254.100时,将重定向到百度页面
二、socat工具
对服务器动态权重和其它状态可以利用 socat工具进行调整,Socat 是 Linux 下的一个多功能的网络工具,名字来由是Socket CAT,相当于netCAT的增强版.Socat 的主要特点就是在两个数据流之间建立双向通道,且支持众多协议和链接方式。如IP、TCP、UDP、IPv6、Socket文件等
——动态调整haproxy中的参数
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
[root@haproxy ~]# dnf install socat -y
[root@haproxy ~]# echo "help" | socat stdio /var/lib/haproxy/stats # 查看帮助
[root@haproxy ~]# echo "show servers state" | socat stdio /var/lib/haproxy/stats # 查看haproxy状态
[root@haproxy ~]# echo get weight webcluster/web1 | socat stdio /var/lib/haproxy/stats # 查看权重
[root@haproxy ~]# echo "set weight webcluster/web1 1" | socat stdio /var/lib/haproxy/haproxy.sock # 修改权重
[root@haproxy ~]# echo get weight webcluster/web1 | socat stdio /var/lib/haproxy/stats
1 (initial 2) # 现在权重为1,初始设置为2
[root@haproxy ~]# echo "disable server webcluster/web1 1" | socat stdio /var/lib/haproxy/haproxy.sock # 使web1下线
[root@haproxy ~]# echo "enable server webcluster/web1 1" | socat stdio /var/lib/haproxy/haproxy.sock # 使web2下线
当haproxy多进程时,设置热处理
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
[root@haproxy ~]# systemctl restart haproxy.service
三、haproxy算法
HAProxy的调度