Haproxy 下载、编译部署、使用

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


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 连接超时设置为 30timeout client 30s 客户端超时设置 30timeout 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": ""
         }'

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

栗子~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值