文章目录
- 前言
- 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": ""
}'