HAProxy 1.9.0 移植指南(openEuler 20.03 LTS SP1)
介绍
简要介绍
HAProxy是一个应用C语言编写的自在及凋谢源代码软件,其提供高可用性、负载平衡,以及基于TCP和HTTP的应用程序代理,反对虚拟主机,它是收费、疾速并且牢靠的一种解决方案。
开发语言:C
一句话形容:Web负载平衡
倡议的版本
倡议应用版本为“HAProxy 1.9.0”。
阐明:
本文档实用于HAProxy 1.9.0,其余版本的HAProxy移植步骤也可参考本文档。
环境要求
硬件要求
我的项目 | 阐明 |
---|---|
服务器 | TaiShan 200服务器(型号2280) |
CPU | 鲲鹏920 5250处理器 |
磁盘分区 | 对磁盘分区无要求 |
操作系统要求
我的项目 | 版本 |
---|---|
openEuler | 20.03 LTS SP1 aarch64 |
Kernel | 4.19 |
查看以后零碎版本信息
cat /etc/os-release
装置openEuler操作系统,请参考https://openeuler.org/zh/docs...
阐明:
装置形式倡议抉择“Server with GUI”装置形式。
镜像站RPM形式装置
若您的服务器能够拜访网络,执行 wget https://mirrors.huaweicloud.c... 命令下载RPM包。否则,请拜访 https://mirrors.huaweicloud.c... 下载RPM包并复制到服务器“/home”目录。
阐明:
镜像站中的RPM包都是通过开源代码编译打包而成,而后将其上传到镜像站。
以本地下载RPM包并上传到服务器为例阐明安装操作
装置HAProxy
rpm -ivh haproxy-1.9.0-1.el7.aarch64.rpm
查看装置目录
ls /usr/local/haproxy
运行和验证
配置参数
a. 关上option-http_proxy.cfg文件
vi /usr/local/haproxy/conf/option-http_proxy.cfg
b. 批改option-http_proxy.cfg为如下内容后,保留并退出文件
globalmaxconn 20000log 127.0.0.1 local0 infouid 0gid 0chroot /usr/local/haproxynbproc 4daemondefaultsmode httpretries 3timeout connect 10stimeout client 20stimeout server 30stimeout check 2sfrontend test-proxybind *:80mode httplog globaldefault_backend test-proxy-srvbackend test-proxy-srvbalance roundrobinoption http-server-closeoption httpchk GET /index.htmlhttp-check expect status 200server web1 IP1:PORT1 weight 3server web2 IP2:PORT2 weight 3
配置文件示例参数阐明见下表。
参数 | 阐明 |
---|---|
global | - |
maxconn 20000 | 默认最大连接数。 |
log 127.0.0.1 local0 info | 定义日志输出设备,info示意日志级别。 |
uid 0 | 运行HAProxy的用户id。 |
gid 0 | 运行HAProxy的用户组id。 |
chroot /usr/local/haproxy | chroot运行门路。 |
nbproc 4 | 设置过程数量。 |
daemon | 当前台模式运行HAProxy。 |
defaults | - |
mode http | 所解决的类别(7层代理http,4层代理tcp)。 |
retries 3 | 设置连贯后端服务器的失败重试次数,超过此值标记后端服务器为不可用。 |
timeout connect 10s | HAProxy与后端服务器建设连贯的最长等待时间。 |
timeout client 20s | 和客户端放弃闲暇连贯的超时工夫。 |
timeout server 30s | 和服务端放弃闲暇连贯的超时工夫。 |
timeout check 2s | 对服务端的检测超时工夫。 |
frontend test-proxy | - |
bind *:80 | 定义一个或几个监测的套接字,*示意以后所有的ipv4地址。 |
mode http | 所解决的类别(7层代理http,4层代理tcp)。 |
log global | 继承global中log的定义。 |
default_backend test-proxy-srv | 指定默认的后端服务器池。 |
backend test-proxy-srv | - |
balance roundrobin | 指定负载平衡算法 roundrobin是基于权重进行轮询的算法,实用于服务器性能平均时。 |
option http-server- | 当开启长连贯时,应该开启此项。 |
option httpchk GET /index.htmlhttp-check expect status 200 | 启用HTTP的服务状态检测(健康检查)。查看返回的状态码,承受不到200就不给后端server调度。 |
server web1IP1:PORT1 weight 3 server web2 IP2:PORT2 weight 3 | 定义多个后端实在服务器。格局:server :[port] [param*]阐明:IP1:PORT1和IP2:PORT2为后端服务器IP及端口号。weight示意权重。 |
启动HAProxy
taskset -c 0-3 /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/option-http_proxy.cfg
验证HAProxy
ps -ef | grep haproxy
能够看到HAProxy过程。
关上浏览器在url处输出:http://IP:80,(IP为HAproxy所在服务器IP)能够看到后端服务器的页面,则阐明HAProxy运行胜利。刷新页面,显示页面在后端服务器间来回切换。
阐明:
(可选)进行HAProxy命令如下,业务运行中不须要执行该命令。
pkill haproxy
(可选)卸载HAProxy,并查问。
rpm -qa | grep haproxy
rpm -e --nodeps haproxy-1.9.0
rpm -qa | grep haproxy
rm -rf /usr/local/haproxy