HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接。并且它的运行模式使得它可以很简单安全的整合进你当前的网络架构中, 同时可以保护你的web服务器不被暴露到网络上
下面结合下面的拓扑,进行CentOS7下HAProxy负载均衡的简单配置实践
环境如下:
1)CentOS7 Linux服务器10.20.10.93安装HAProxy
2)0.20.10.185 SynologyStorage http端口5000
3)10.20.10.209 StorageDSM http端口5000
1、在10.20.10.93 CentOS7 Linux服务器上以yum方式安装haproxy
yum install haproxy
2、编辑配置文件
cd /etc/haproxy/
cp haproxy.cfg haproxy.cfg_default_bak
vi haproxy.cfg
修改如下红色字段
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend synology *:5000
default_backend synology_storage
#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend synology_storage
balance roundrobin
server DSM1 10.20.10.185:5000 check
server DSM2 10.20.10.209:5000 check
关于配置文件的说明
HAProxy配置中分成五部分内容,当然这些组件不是必选的,可以根据需要选择作为配置。
•global:参数是进程级的,通常和操作系统(OS)相关。这些参数一般只设置一次,如果配置无误,就不需要再次配置进行修改;
•default:配置默认参数的,这些参数可以被利用配置到frontend,backend,listen组件;
•frontend:接收请求的前端虚拟节点,Frontend可以根据规则直接指定具体使用后端的backend(可动态选择);
•backend:后端服务集群的配置,是真实的服务器,一个Backend对应一个或者多个实体服务器;
•listen:Frontend和Backend的组合体
3、配置日志转发到Rsyslog服务
vi /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
$AllowedSender UDP,127.0.0.1
*.info;mail.none;authpriv.none;cron.none,local2.none /var/log/messages
local2.* /var/log/haproxy.log
4、启动haproxy服务并设置为开机自启动
systemctl restart rsyslog
systemctl enable haproxy
systemctl restart haproxy
tail -f /var/log/haproxy.log
5、验证负载均衡效果
第一次访问访问http://10.20.10.93:5000是访问的10.20.10.185:5000(SynologyStorage)
这时刷新页面时则访问是10.20.10.209:5000(StorageDSM),多次刷新,会依次轮询(round-robin),从而实现负载均衡
本文分享自 WalkingCloud 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!