一、HAProxy简介
代理的作用:web缓存(加速)、反向代理、内容路由(根据流量及内容类型等将请求转发至特定服务器)、转码器(将后端服务器的内容压缩后传输给client端)。
缓存的作用:减少冗余内容传输;节省带宽、缓解网络瓶颈;降低了对原始服务器的请求压力,降低了传输延迟。
HAProxy是一种免费的、非常快速且可靠的解决方案,它提供了高可用性、负载平衡和对TCP和基于http的应用程序的代理。它特别适用于非常高的流量网站,
并为世界上访问量最大的网站提供了强大的力量。多年来,它已经成为事实上的标准的opensource负载平衡器,现在随大多数主流Linux发行版本一起发布,
并且经常在云平台上默认部署。
HAProxy:只是http协议的反向代理,不提供缓存功能。
二、HAProxy测试环境搭建
1、简单架构图
2、测试环境(说明):
HAProxy:192.168.1.157
web1:192.168.1.110
web2:192.168.1.184
操作系统:CentOS Linux release 7.3.1611 (Core)
3、HAProxy服务器安装haproxy
yum -y install haproxy
echo "1111111" > /var/www/html/index.html
systemctl start httpd
4、web1和web2安装httpd
yum -y install httpd
echo "2222222" > /var/www/html/index.html
systemctl start httpd
5、配置HAProxy
vim /etc/haproxy/haproxy.cfg
修改前端和后端的配置如下:
frontend main 192.168.1.157:80
default_backend webserver
backend webserver
balance roundrobin
server web1 192.168.1.110:80 check
server web2 192.168.1.184:80 check
三、配置HAProxy访问记录日志
日志位置:/var/log/haproxy.log
编辑配置文件/etc/rsyslog.conf
加入如下内容:
$ModLoad imudp
$UDPServerRun 514
local2.* /var/log/haproxy.log
重启rsyslog进程
systemctl restart rsyslog
启动haproxy服务
systemctl start haproxy
四、测试环境是否健康
通过浏览器访问HAProxy
http://192.168.1.157
访问日志记录如下图: