前缀、文档修改记录
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