文章目录
- 前言
- 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.14make 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
添加配置:
globallog /app/log/logfile local0log /app/log/logfil local1 noticechroot /var/lib/haproxystats socket /run/haproxy/admin.sock mode 660 level adminstats timeout 120sdaemonmaxconn 4096defaultslog globaltimeout connect 30stimeout client 30stimeout server 30sfrontend http-inbind *:8001mode tcpdefault_backend serversbackend serversserver server1 192.168.33.125:8081 maxconn 32 maxconn 32
含义:
global# 配置 HAProxy 使用系统日志服务log /app/log/logfile local0log /app/log/logfil local1 noticechroot /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 120suser haproxy # 设置运行 HAProxy 的用户和组。group haproxy # 设置运行 HAProxy 的用户和组。daemon # 让 HAProxy 以后台进程方式运行。maxconn 4096 #设置 HAProxy 允许的最大并发连接数为 4096。defaultslog global # 继承 global 部分的日志设置。timeout connect 30s 连接超时设置为 30秒timeout client 30s 客户端超时设置 30秒timeout server 300s 服务器超时设置300秒errorfile 400 /app/yzy/haproxy/errors/400.httperrorfile 403 /app/yzy/haproxy/errors/403.httperrorfile 408 /app/yzy/haproxy/errors/408.httperrorfile 500 /app/yzy/haproxy/errors/500.httperrorfile 502 /app/yzy/haproxy/errors/502.httperrorfile 503 /app/yzy/haproxy/errors/503.httperrorfile 504 /app/yzy/haproxy/errors/504.httpfrontend http-inbind *:8001 # : 绑定到所有网络接口的 80 端口mode tcp # 配置 HAProxy 以 HTTP 模式工作。或者https或者tcpdefault_backend serversbackend serversserver 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": ""}'