A、首介 。。。
HAProxy——开放源代码软件,是一款代理服务器和伪4层的负载均衡软件解决方案。基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持高并发链接,它的工作模式可以将其简单而安全地整合到当前的服务架构中,同时可以保护你的WEB服务器不暴露到网络上(设置成代理来实现的 通过VIP将后端的web服务器隐藏到内网中)。haproxy进入了商业版本以后,就进入了快速迭代周期,目前正在维护的版本有 1.4 1.5 1.6 1.7;
B、特点。。。
b1、免费开源,稳定性非常好
b2、支持链接拒绝,可以用于防止DDoS攻击
b3、支持虚拟主机
b4、能够补充Nginx的一些缺点,路由HTTP请求到后端服务器,基于cookie作会话绑定;同时支持通过获取指定的url来检测后端服务器的状态
b5、能够将多个请求反代至后端主机完成负载均衡的效果
b6、通过一个URI接口web应用程序为通过身份验证的用户提供报告详细状态.
b7、自带监控服务器状态的页面,实时监控状态、强大的后端主机健康检测功能.
b8、支持 单一进程模型,事件驱动,弹性二叉树;
b9、负载均衡策略算法较多、具体有如下8种:
⑧ rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。
C、安装。。。
安装较为简单,在Centos6.4版本后,haproxy就被收录进ISO光盘的base仓库,可见其较高的市场占有率和大众接受度,
c1、查看安装信息 yum info haproxy
c2、安装 yum install haproxy -y
D、程序环境 。。。
d1、程序配置文件路径
配置文件: /etc/haproxy/haproxy.cfg
Unit File: /usr/lib/systemd/system/haproxy.service (CentOS7)
主程序: /usr/sbin/haproxy
日志管理辅助: /usr/bin/halog
网段计算辅助文件: /usr/bin/iprange
内建的错误页文件:
/usr/share/haproxy/400.http
/usr/share/haproxy/403.http
/usr/share/haproxy/408.http
/usr/share/haproxy/500.http
/usr/share/haproxy/502.http
/usr/share/haproxy/503.http
/usr/share/haproxy/504.http
d2、Haproxy配置文件分析
首先备份下
cp /etc/haproxy/haproxy.cfg{,.bak}
打开haproxy.cfg
vim /etc/haproxy/haproxy.cfg
global: 全局配置段,参数是进程级的,通常是和操作系统相关,如果配置无误,就不需要再次进行修改
proxles 代理配置段如下:
— defaults <name>: 为frontend, backend以及listen提供默认配置;
— frontend <name>: 相当于nginx的server段,接收请求的前端虚拟节点
— backend <name>: 后端服务集群的配置,是真实服务器,一个Backend对应一个或者多个实体服务器,相当于nginx的upstream段,
E、基础负载测试。。。
测试准备
e1、3台主机,第1台(7.3)安装haproxy做调试器,第2,3台(6.8)安装httpd做web应用,配置/var/www/html/index.html测试页面,(3台IP之间需互通)
e2、启动服务: service httpd start,并监测80端口是否开启,ss -tnlp |grep 80 , 浏览器访问时确认关闭防火墙:iptables -F 及selinux : getenforce,
e3、确认可正常浏览
e4、接下来配置haproxy负载,仅更改几个配置点即可,主要更改frontend和backend段
- 可自定义frontend的main名称,加端口即可,如web的80 , ohoh *:80
- default_backend 也可自定,不要和main名称一样即好, web_ser
- 此段的中间几行,默认即可,也可删除
- 配置backend段,修改backend名称同上web_ser
- balance默认调度算法 roundrobin简单轮询,默认
- 复制一行server, 将后端的两台http服务器IP和端口写入。保存退出
- 启动haproxy服务, systemctl start haproxy.service
END:浏览器访问,刷新查看两台切换
待续。。。
原创文章,作者:zzzzzzzzzzzzzzzz.x,如若转载,请注明出处:http://www.178linux.com/76030