I will persist until I succeed
Ubuntu1804.3上编译安装HAProxy-2.0.29
Ubuntu1804.3上编译安装HAProxy-2.0.29

Ubuntu1804.3上编译安装HAProxy-2.0.29

环境:

haproxy:  https://www.haproxy.org/download/2.0/src/haproxy-2.0.29.tar.gz

OS:Ubuntu1804.3

lua:  http://www.lua.org/ftp/lua-5.4.4.tar.gz

晚风心里吹

安装步骤:

1.准备编译安装HAProxy的基础环境

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

2.编译安装lua,为HAProxy支持基于其实现功能扩展。
注:HAProxy要求的lua最低版本为5.3
2.1 下载并且安装lua
# cd /usr/local/src/
# cd  wget  http://www.lua.org/ftp/lua-5.4.4.tar.gz
# tar xf lua-5.4.4.tar.gz
# cd lua-5.4.4/src/
# make all test

2.2 查看编译后的版本
# ./lua -v
Lua 5.4.4Copyright (C) 1994-2018 Lua.org, PUC-Rio

3.编译安装haproxy
3.1 解压并安装
# cd /usr/local/src/
# tar xf haproxy-2.0.29.tar.gz
# cd haproxy-2.0.29
# make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.4.4/src/ LUA_LIB=/usr/local/src/lua-5.4.4/src/ PREFIX=/apps/haproxy

3.2 查看编译安装好的版本信息
# ./haproxy -v
HA-Proxy version 2.0.29-5e15b0f 2022/05/13 – https://haproxy.org/

4.编写haproxy启动脚本
# vim  /lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target

[Service]
ExecStartPre=/apps/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c
ExecStart=/apps/haproxy/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 \$MAINPID

[Install]
WantedBy=multi-user.target

5.编写配置文件/etc/haproxy/haproxy.cfg
# mkdir /etc/haproxy
# cat > /etc/haproxy/haproxy.cfg << EOF
global
maxconn 100000
chroot /usr/local/haproxy
stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
uid 99
gid 99
daemon
pidfile /var/lib/haproxy/haproxy.pid
log 127.0.0.1 local3 info

defaults
option http-keep-alive
option forwardfor
maxconn 100000
mode http
timeout connect 300s
timeout client 300s
timeout server 300s

listen stats
bind :9999
stats enable
stats uri /status
stats auth admin:123456
6.创建相关目录
# mkdir /var/lib/haproxy
# mkdir /usr/local/haproxy
# mkdir /etc/haproxy
# chown 99.99 /var/lib/haproxy/ -R
# chown 99.99 /usr/local/haproxy -R

7.启动并设为开机自启动和查看haproxy状态
# systemctl daemon-reload
# systemctl enable –now haproxy
# systemctl status haproxy

[root@ubuntu-template ~ ]#systemctl status haproxy
● haproxy.service – HAProxy Load Balancer
Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-05-14 17:58:44 CST; 27min ago
Process: 698 ExecStartPre=/apps/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c (code=exited, status=0/SUCCESS)
Main PID: 763 (haproxy)
Tasks: 3 (limit: 2288)
CGroup: /system.slice/haproxy.service
├─763 /apps/haproxy/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
├─802 /apps/haproxy/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
└─803 /apps/haproxy/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid

May 14 17:58:44 ubuntu-template systemd[1]: Starting HAProxy Load Balancer…
May 14 17:58:44 ubuntu-template haproxy[698]: [WARNING] 133/175844 (698) : Proxy ‘stats’: in multi-process mode, stats will be limite
May 14 17:58:44 ubuntu-template haproxy[698]: Configuration file is valid
May 14 17:58:44 ubuntu-template systemd[1]: Started HAProxy Load Balancer.
May 14 17:58:44 ubuntu-template haproxy[763]: [WARNING] 133/175844 (763) : Proxy ‘stats’: in multi-process mode, stats will be limite
May 14 17:58:45 ubuntu-template haproxy[763]: [NOTICE] 133/175844 (763) : New worker #1 (802) forked
May 14 17:58:45 ubuntu-template haproxy[763]: [NOTICE] 133/175844 (763) : New worker #2 (803) forked

8.访问状态页

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注