HAProxy
- 前言
- 一、HAProxy是什么?
- 二、HAProxy的配置共有五个域
- 三、安装步骤
- 四、开启统计信息页面
- 五、配置HAProxy动静分离
- 六、HAProxy的核心功能
前言
这是我的第一条博客,加油ヾ(◍°∇°◍)ノ゙-
一、HAProxy是什么?
- HAProxy是一种高性能的开源的并且免费的负载均衡的软件,可以运行大部分主流的Linux操作系统上,HAProxy提供了TCP和HTTP两种负载均衡的能力,具备丰富的功能,版本更新快
-
二、HAProxy共有五个域
-
1、global:用于配置全局参数
-
2、default:用于配置所有frontend和backend的默认属性
-
3、frontend:用于配置前端服务(即HAProxy自身提供的服务)
-
4、backend:用于配置后端服务(即HAProxy后面接的服务)
-
5、listen:frontend+backend的组合配置,可以理解成更简洁的配置方法
-
-
三、安装步骤
先配置一个负载均衡集群
-
yum -y intall haproxy
-
打开配置文件
-
vim /etc/haproxy/haproxy.cfg
定义后端服务器组
- 截图解释:定义一个后端服务器组:webserver, 定义这个服务器组的算法为:rundrobin(轮询),定义后端真实服务器(server)
-
定义前端服务器组
-
截图解释:定义一个前段服务器为web,定义前段服务器监听的地址和端口,定义默认转发给后端的webservers服务器
-
启动haproxy
-
systemctl start haproxy
关闭防火墙
-
systemctl stop firewalld setenforce 0
准备两台虚拟机并配置web服务器
-
yum -y install httpd vim /var/www/html/index.html <h1>web1</h1>
另外一台也创建页面
-
-
yum -y install httpd vim /var/www/html/index.html <h1>web2</h1>
启动httpd
-
systemctl start httpd
关闭防火墙
-
systemctl stop firewalld setenforce 0
配置完毕之后测试haproxy
-
四、开启统计信息页面
-
重启haproxyfrontend stats bind *:8080 #监听的地址和端口 stats uri /stats #访问的uri stats refresh 10s #页面自动刷新间隔时间 stats auth admin:admin #访问页面的账号和密码
-
systemctl restart haproxy
-
-
五、配置HAProxy动静分离
- 进入haproxy配置文件
-
vim /etc/haproxy/haproxy.cfg
定义过滤规则
截图解释:acl:定义一个过滤规则
path_end:定义一个过滤规则以什么为结尾
-i:不区分大小写
use_backend:和acl结合使用,定义当过过滤规则匹配生效后转发的后端服务器
-
定义后端服务器组
截图解释:定义默认后端服务器组:webservers
定义静态后端服务器组:dg至此配置完毕,haproxy将会把以.html结尾的静态页面转发给dg后端服务器组,其他默认转发给webservers
-
保存退出后,重启haproxy
systemctl restart haproxy
访问页面 -
-
默认会去访问webservers
-
-
六、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的状态
-