haproxy安装(yum+编译)

yum安装

yum install -y haproxy
haproxy -v
HA-Proxy version 1.5.18 2016/05/10
Copyright 2000-2016 Willy Tarreau <willy@haproxy.org>

编译安装

# 安装基础命令及编译依赖环境
yum install gcc readline-devel -y
wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
tar xvf lua-5.3.5.tar.gz -C /usr/local/src
cd /usr/local/src/lua-5.3.5
make linux test

# 查看编译安装的版本
src/lua -v
Lua 5.3.5  Copyright (C) 1994-2018 Lua.org, PUC-Rio

# HAProxy 1.8及1.9版本编译参数:(此处我们不用,我们用2.0以上的)
make  ARCH=x86_64 TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1  USE_CPU_AFFINITY=1  PREFIX=/usr/local/haproxy 

# HAProxy 2.0以上版本编译:
wget https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-2.8.3.tar.gz/sha512/1fe08c29b22581cc5a71934e420c00faaba0f5b5028b10f82e0a16556fcdd4a3943b9f2f3e2ad675442d70cf37a125a3583cdf2d4ae45d3db67bc42cfc457112/haproxy-2.8.3.tar.gz
yum -y install gcc openssl-devel pcre-devel systemd-devel
tar xvf haproxy-2.8.3.tar.gz -C /usr/local/src
cd /usr/local/src/haproxy-2.8.3/
make PREFIX=/usr/local/haproxy ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.3.5/src/ LUA_LIB=/usr/local/src/lua-5.3.5/src/
mkdir /usr/local/haproxy
make install PREFIX=/usr/local/haproxy
ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/

# 验证HAProxy版本:
haproxy -v
HAProxy version 2.8.3-86e043a 2023/09/07 - https://haproxy.org/
Status: long-term supported branch - will stop receiving fixes around Q2 2028.
Known bugs: http://www.haproxy.org/bugs/bugs-2.8.3.html
Running on: Linux 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64


# 创建service文件
vim /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /var/lib/haproxy/haproxy.pid
# -Ws 让haproxy以守护进程方式运行,并且将信息记录到标准输出;-f 指定配置文件的位置;-p 指定PID文件的位置。
ExecReload=/bin/kill -USR2 $MAINPID
LimitNOFILE=100000
# 设置软限制为100,000打开文件描述符数,这对于高并发连接的服务非常重要。
[Install]
WantedBy=multi-user.target

# 配置配置文件:
mkdir /etc/haproxy
cat /etc/haproxy/haproxy.cfg
global
    maxconn 100000
    chroot /usr/local/haproxy
    stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
    user haproxy
    group haproxy
    daemon
    log 127.0.0.1 local2 info

defaults
    option http-keep-alive
    option forwardfor
    maxconn 100000
    mode http
    timeout connect 300000ms
    timeout client 300000ms
    timeout server 300000ms

listen stats
    mode http
    bind 0.0.0.0:9999
    stats enable
    log global
    stats uri /haproxy-status
    stats auth haadmin:123456

listen web_port
    bind 10.0.0.60:81
    mode http
    log global
    server web1 127.0.0.1:8080 check inter 3000 fall 2 rise 5

# 准备socket文件目录
mkdir /var/lib/haproxy

# 创建用户
useradd -r -s /sbin/nologin -d /var/lib/haproxy haproxy

# 启动
systemctl daemon-reload
systemctl enable --now haproxy

查看haproxy的状态页面:
20250815104209

posted @ 2025-08-15 10:32  阿峰博客站  阅读(15)  评论(0)    收藏  举报