HAProxy是什么
HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。
HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。HAProxy的社区非常活跃,版本更新快速, HAProxy 性能很高
HAProxy的核心功能
负载均衡:L4和L7两种模式,支持RR/静态RR/LC/IP Hash/URI Hash/URL_PARAM Hash/HTTP_HEADER Hash等丰富的负载均衡算法
健康检查:支持TCP和HTTP两种健康检查模式
会话保持:对于未实现会话共享的应用集群,可通过Insert Cookie/Rewrite Cookie/Prefix Cookie,以及上述的多种Hash方式实现会话保持
SSL:HAProxy可以解析HTTPS协议,并能够将请求解密为HTTP后向后端传输
HTTP请求重写与重定向
监控与统计:HAProxy提供了基于Web的统计信息页面,展现健康状态和流量数据。基于此功能,使用者可以开发监控程序来监控HAProxy的状态
HAProxy的配置文件共有5个域
global:用于配置全局参数
default:用于配置所有frontend和backend的默认属性
frontend:用于配置前端服务(即HAProxy自身提供的服务)实例
backend:用于配置后端服务(即HAProxy后面接的服务)实例组
listen:frontend+backend的组合配置,可以理解成更简洁的配置方法
配置一个负载均衡集群:
安装haproxy
yum -y install haproxy
打开配置文件:
vim /etc/haproxy/haproxy.cfg
定义后端服务器组
定义一个后端服务器组,webservers
定义这个服务器组算法为:roundrobin (轮询)
定义后端真实服务器(server)
定义前端服务器
定义一个前端服务器 web
定义前端服务器监听地址和端口
定义默认转发给后端的webservers服务器组
启动haproxy
systemctl start haproxy
配置web服务器
访问10.0.0.43进行测试
您会发现负载均衡已经做好,点击刷新两个页面来回跳
开启统计信息页面
frontend stats
bind *:8080 #监听的地址和端口
stats uri /stats #访问的uri
stats refresh 10s #页面自动刷新间隔时间
stats auth admin:admin #访问页面的账号和密码
在里面可以查看自己的配置
访问页面会提示您输入用户名和密码,两个都输入admin即可
配置Haproxy动静分离
当你访问以.html结尾的时候回跳到10.0.0.43,不加过滤规则默认访问webservers服务器组