HAProxy 1.9.0 移植指南(openEuler 20.03 LTS SP1)

190 阅读4分钟

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处理器
磁盘分区对磁盘分区无要求

操作系统要求

项目版本
openEuler20.03 LTS SP1 aarch64
Kernel4.19

检查当前系统版本信息

cat /etc/os-release

HAProxy-1.jpeg

安装openEuler操作系统,请参考openeuler.org/zh/docs/20.…
说明: 安装方式建议选择“Server with GUI”安装方式。

镜像站RPM方式安装

若您的服务器可以访问网络,执行 wget mirrors.huaweicloud.com/kunpeng/yum… 命令下载RPM包。否则,请访问 mirrors.huaweicloud.com/kunpeng/yum… 下载RPM包并复制到服务器“/home”目录。

说明: 镜像站中的RPM包都是通过开源代码编译打包而成,然后将其上传到镜像站。

以本地下载RPM包并上传到服务器为例说明安装操作

  1. 安装HAProxy

    rpm -ivh haproxy-1.9.0-1.el7.aarch64.rpm
    

HAProxy-2.png

  1. 查看安装目录

    ls /usr/local/haproxy
    

HAProxy-3.png

运行和验证

  • 配置参数

    a. 打开option-http_proxy.cfg文件

    vi  /usr/local/haproxy/conf/option-http_proxy.cfg
    

    b. 修改option-http_proxy.cfg为如下内容后,保存并退出文件

    global
    maxconn      20000
    log               127.0.0.1 local0  info
    uid               0
    gid               0
    chroot          /usr/local/haproxy
    nbproc          4
    daemon
    defaults
    mode                       http
    retries                      3
    timeout connect      10s
    timeout client          20s
    timeout server         30s
    timeout check          2s
    frontend test-proxy
    bind            *:80
    mode            http
    log             global
    default_backend test-proxy-srv
    backend test-proxy-srv
    balance        roundrobin
    option http-server-close
    option httpchk   GET /index.html
    http-check expect       status 200
    server          web1    IP1:PORT1 weight 3
    server          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/haproxychroot运行路径。
nbproc 4设置进程数量。
daemon以后台形式运行HAProxy。
defaults-
mode http所处理的类别(7层代理http,4层代理tcp)。
retries 3设置连接后端服务器的失败重试次数,超过此值标记后端服务器为不可用。
timeout connect 10sHAProxy与后端服务器建立连接的最长等待时间。
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表示权重。