标签归档:编译安装

编译安装HaProxy 2024-10-25

前缀、文档修改记录

20241025 初始化编辑此文章,完稿,文章中的最新稳定版本,为书写此文时间的v3.0.5

章节1、需求描述

在Debian/Ubuntu系列系统上,编译安装最新稳定版本的haproxy version v3.0.X,该版本为LTS,支持到2029年Q2季度。

地址: http://git.haproxy.org/git/haproxy-3.0.git/

下载地址: https://www.haproxy.org/download/3.0/src/haproxy-3.0.5.tar.gz

章节2、编译步骤

此次用的Ubuntu 20.04.2 LTS系统环境,建一个 src目录,供放置软件源代码压缩包

mkdir -p /root/src/

使用任意工具,把本地的haproxy-3.0.5.tar.gz文件传输到服务器的目录 /root/src/haproxy-3.0.5.tar.gz

安装必要的依赖

apt update
apt install -y gcc make build-essential libpcre3-dev libssl-dev zlib1g-dev libsystemd-dev

解压源代码的压缩包

cd /root/src/
tar -zxvf haproxy-3.0.5.tar.gz
cd haproxy-3.0.5/

编译安装

// 编译
make TARGET=linux-glibc USE_SYSTEMD=1 USE_OPENSSL=1 USE_ZLIB=1 USE_PCRE=1

编译参数选项说明:
TARGET=linux-glibc:指定目标平台。
USE_OPENSSL=1:开启 SSL 支持。
USE_ZLIB=1:开启 zlib 支持,用于压缩响应数据。
USE_PCRE=1:启用 PCRE 库支持正则表达式。
USE_TFO=1:可选,启用 TFO 支持,TCP Fast Open,适合延迟敏感的应用,如负载均衡、Web 服务
// 可选,配套需要开启 /proc/sys/net/ipv4/tcp_fastopen 置于3,开启同时支持客户端和服务器端的TFO
USE_LUA=1:可选,启用 Lua 脚本支持
USE_SYSTEMD=1:可选,启用systemd管理 HAProxy服务


// 安装
make install

查看一下版本信息

/usr/local/sbin/haproxy -v

创建配置文件目录

mkdir -p /etc/haproxy

创建一个空的配置文件,配置文件的内容定义,这个根据你们业务的实际来:

touch /etc/haproxy/haproxy.cfg

创建一个haproxy名称的服务文件

cat > /etc/systemd/system/haproxy.service << EOF
[Unit]
Description=HAProxy Load Balancer
After=network.target

[Service]
ExecStart=/usr/local/sbin/haproxy -f /etc/haproxy/haproxy.cfg
ExecReload=/bin/kill -USR2 \$MAINPID
KillMode=mixed
Restart=always

[Install]
WantedBy=multi-user.target
EOF

启动停止命令

systemctl daemon-reload
systemctl start haproxy    # 启动
systemctl stop haproxy    # 停止
systemctl enable haproxy    # 自动开机启动
systemctl status haproxy    # 查看状态

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨