Haproxy
是一款高性能的负载均衡软件。因为其专注于负载均衡这一些事情,因此与Nginx
比起来在负载均衡这件事情上做得更好,更专业。
安装环境:4台Linux机,系统为CentOS 7.2。 Haproxy版本:2.5.7
ip |
作用 |
---|---|
172.16.122.10 |
部署Haproxy,代理真实服务器1、2、3 |
172.16.122.11 |
真实服务器1,已经部署应用,并对外暴露http端口10900 |
172.16.122.12 |
真实服务器2,已经部署应用,并对外暴露http端口10900 |
172.16.122.13 |
真实服务器3,已经部署应用,并对外暴露http端口10900 |
1、下载安装Haproxy
1.1、下载
下载地址:Index of /repo/pkgs/haproxy 选择一个版本进行下载,这里我用的是haproxy-2.5.7.tar.gz
版本。
1.2、安装
将下载的安装包上传至服务器。
tar -xvf haproxy-1.8.25.tar.gz
cd haproxy-1.8.25
make TARGET=linux31 # uname -r 查看下内核版本,centos7.x是linux31、centos6.x是linux26
sudo make install PREFIX=/usr/local/haproxy # 安装到指定路径
cd /usr/local/haproxy/
mkdir conf pid # 分别用来存放配置、进程文件
2、配置Haproxy
2.1、Haproxy配置文件组成
Haproxy
配置文件根据功能和用途,主要有 5 个部分组成,但有些部分并不是必须的, 可以根据需要选择相应的部分进行配置。
1、global 部分 用来设定全局配置参数,属于进程级的配置,通常和操作系统配置有关。
2、defaults 部分 默认参数的配置部分。在此部分设置的参数值,默认会自动被引用到下面的 frontend、backend 和 listen
部分中,因此,如果某些参数属于公用的配置,只需在 defaults
部分添加一次即可。而如果在 frontend、backend 和 listen
部分中也配置了与 defaults
部分一样的参数,那么defaults
部分参数对应的值自动被覆盖。
3、frontend 部分 此部分用于设置接收用户请求的前端虚拟节点。frontend
是在 Haproxy1.3
版本之后才引入的一个组件,同时引入的还有 backend
组件。通过引入这些组件,在很大程度上简化了 Haproxy
配置文件的复杂性。frontend
可以根据 ACL
规则直接指定要使用的后端。
4、backend 部分 此部分用于设置集群后端服务集群的配置,也就是用来添加一组真实服务器,以处理前端用户的请求。添加的真实服务器类似于 LVS
中的 real server
节点。
5、listen 部分 此部分是 frontend
部分和 backend
部分的结合体。在 Haproxy1.3
版本之前,