文章目录
- 前言
- Haproxy 下载、编译部署、使用
- 1. 下载
- 2. 编译部署
- 3. 使用
- 3.1. 验证配置文件
- 3.2. 启动 HAProxy 并指定配置文件路径
- 3.3. 关闭HAProxy
- 3.4. 重载HAProxy
 
- 3. 测试
 
 
前言
  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
   而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
Haproxy 下载、编译部署、使用
1. 下载
https://www.haproxy.org/

 
 下载的为2.5版本
2. 编译部署
上传服务器,
 解压文件:
 tar -zxvf haproxy-2.5.14.tar.gz
 
 编译和安装
 安装一些依赖项。对于 Debian/Ubuntu 系统,可以使用以下命令:
apt-get update
apt-get install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev

 然后编译和安装 HAProxy:
 进去haproxy-2.5.14源码包
cd haproxy-2.5.14
make TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1
* TARGET=linux-glibc:
    * 指定要编译的目标平台。
    * linux-glibc 表示目标平台是使用 GNU C 库(glibc)的 Linux 系统。不同的平台可能需要不同的目标设置。
* USE_PCRE=1:
    * 启用 PCRE(Perl Compatible Regular Expressions)库的支持。
    * PCRE 用于正则表达式处理,HAProxy 使用它来支持高级模式匹配和正则表达式功能。
    * 设置为 1 表示在编译时启用此功能。
* USE_OPENSSL=1:
    * 启用 OpenSSL 库的支持。
    * OpenSSL 提供了加密和 SSL/TLS 功能,HAProxy 使用它来支持 HTTPS 和其他加密通信。
    * 设置为 1 表示在编译时启用此功能。
* USE_ZLIB=1:
    * 启用 Zlib 库的支持。
    * Zlib 用于压缩和解压缩数据,HAProxy 使用它来支持 HTTP 压缩(如 gzip)。
    * 设置为 1 表示在编译时启用此功能。
haproxy自定义安装路径
 先退出到/app/yzy 创建haproxy文件夹
cd ..
pwd
mkdir haproxy
ls

 在进入到haproxy源码包里进行自定义安装
 命令:make install PREFIX=/app/yzy/haproxy
cd haproxy-2.5.14
make install PREFIX=/app/yzy/haproxy
cd ../haproxy
ls

 前置创建:
mkdir conf 
mkdir log
mkdir -p /var/lib/haproxy
mkdir -p /run/haproxy

chmod 777 /var/lib/haproxy
chmod 777 /run/haproxy
cd log
touch logfile
chmod 777 /app/log/logfile

 创建配置文件
cd conf
vim  haproxy.cfg
添加配置:
global
    log /app/log/logfile local0
    log /app/log/logfil local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 120s
    daemon
    maxconn 4096
defaults
    log global
    timeout connect 30s
    timeout client 30s
    timeout server 30s
frontend http-in
    bind *:8001
    mode tcp
    default_backend servers
backend servers
    server server1 192.168.33.125:8081 maxconn 32 maxconn 32
含义:
global
    # 配置 HAProxy 使用系统日志服务
    log /app/log/logfile local0
    log /app/log/logfil local1 notice
    chroot /var/lib/haproxy # 将 HAProxy 进程的根目录更改为 /var/lib/haproxy
    #创建一个 Unix 套接字,允许使用 haproxy 管理命令。mode 660 设置文件权限,level admin 指定管理权限。
    stats socket /run/haproxy/admin.sock mode 660 level admin 
    #设置管理接口的超时时间为 120 秒
    stats timeout 120s
    user haproxy  # 设置运行 HAProxy 的用户和组。
    group haproxy  # 设置运行 HAProxy 的用户和组。
    daemon # 让 HAProxy 以后台进程方式运行。
    maxconn 4096 #设置 HAProxy 允许的最大并发连接数为 4096。
defaults
    log global # 继承 global 部分的日志设置。
    timeout connect 30s 连接超时设置为 30秒
    timeout client 30s 客户端超时设置 30秒
    timeout server 300s 服务器超时设置300秒
    errorfile 400 /app/yzy/haproxy/errors/400.http
    errorfile 403 /app/yzy/haproxy/errors/403.http
    errorfile 408 /app/yzy/haproxy/errors/408.http
    errorfile 500 /app/yzy/haproxy/errors/500.http
    errorfile 502 /app/yzy/haproxy/errors/502.http
    errorfile 503 /app/yzy/haproxy/errors/503.http
    errorfile 504 /app/yzy/haproxy/errors/504.http
frontend http-in
    bind *:8001  # : 绑定到所有网络接口的 80 端口
    mode tcp  # 配置 HAProxy 以 HTTP 模式工作。或者https或者tcp
    default_backend servers
backend servers
    server server1 192.168.33.125:8081 maxconn 32 # 最大连接数为 32。
chmod 777  haproxy.cfg

3. 使用
3.1. 验证配置文件
/app/yzy/haproxy/sbin/haproxy -c -f /app/yzy/haproxy/conf/haproxy.cfg
输出 Configuration file is
3.2. 启动 HAProxy 并指定配置文件路径
valid
/app/yzy/haproxy/sbin/haproxy -f /app/yzy/haproxy/conf/haproxy.cfg
3.3. 关闭HAProxy
pkill haproxy
3.4. 重载HAProxy
/app/yzy/haproxy/sbin/haproxy -f /app/yzy/haproxy/conf/haproxy.cfg -sf $(pidof haproxy)

3. 测试
curl -X POST http://127.0.0.1:8001/api/tool/scan \
     -H "Content-Type: application/json" \
     -d '{
          "key": "",
          "path": "",
          "pattern": ""
         }'




















