在 Centos 7 上安装 HAProxy 2

在 Centos 7 上安装 HAProxy 2

在哪里可以找到有关 Centos 7 的 HAproxy 2x 安装文档的官方文档?

$ yum install haproxy
$ haproxy -v
HA-Proxy version 1.5.18 2016/05/10
Copyright 2000-2016 Willy Tarreau <[email protected]>

$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

我不想运行该产品的过时且可能不安全的版本。

答案1

只要支持 CentOS7,来自 repo 的 HAProxy 就不太可能不安全,但是 1.5 版本的功能确实已经过时了。

据我所知,只有现代 Fedora 版本的官方存储库中才有更现代版本的 HAProxy。如果您购买商业版 HAProxy,则似乎有一个由 HAProxy 人员直接支持的 RHEL/CentOS 兼容存储库。否则,您可能实际上必须为您的环境编译和推出自己的软件包。

如果运行另一个发行版是一种可行的解决方法,那么社区版 HAProxy 最用户友好的版本似乎存在于 Debian 和 Ubuntu 方面:https://haproxy.debian.net/

答案2

我可以安装最新版本HAProxy 2.4.2 (LTS)通过CentOS 7执行步骤来自这个博客,为了防止链接失效,这里提供这些内容,我对它们进行了一些修改,因为博客中讨论的是 2.0 版本,而我需要的是最新版本:

脚步

选择haproxy分支

第一步定义了您要安装的分支,如果您想要最新的,2.0只需将 URL 修改为您想要的分支,您必须在看到 URL 的每个步骤中重复该更改:

LATEST_HAPROXY=$(wget -qO-  http://www.haproxy.org/download/2.4/src/ | egrep -o "haproxy-2\.[0-9]+\.[0-9]+" | head -1)
下载并安装软件包:
cd /usr/src/
wget http://www.haproxy.org/download/2.4/src/${LATEST_HAPROXY}.tar.gz
tar xzvf ${LATEST_HAPROXY}.tar.gz
yum install gcc-c++ openssl-devel pcre-static pcre-devel systemd-devel -y
cd /usr/src/${LATEST_HAPROXY}
make TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_CRYPT_H=1 USE_LIBCRYPT=1 USE_SYSTEMD=1
mkdir /etc/haproxy
make install
创建 systemd 服务 /usr/lib/systemd/system/haproxy.service
cat > /usr/lib/systemd/system/haproxy.service << 'EOL'
   
    [Unit]
    Description=HAProxy Load Balancer
    After=syslog.target network.target
    
    
    [Service]
    Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/run/haproxy.pid"
    ExecStartPre=/usr/local/sbin/haproxy -f $CONFIG -c -q
    ExecStart=/usr/local/sbin/haproxy -Ws -f $CONFIG -p $PIDFILE
    ExecReload=/usr/local/sbin/haproxy -f $CONFIG -c -q
    ExecReload=/bin/kill -USR2 $MAINPID
    KillMode=mixed
    Restart=always
    SuccessExitStatus=143
    Type=notify
    
    
    [Install]
    WantedBy=multi-user.target
EOL
创建 /etc/haproxy/haproxy.cfg
cat > /etc/haproxy/haproxy.cfg << 'EOL'

    global
     log /dev/log local0
     log /dev/log local1 notice
     daemon
    
    
    defaults
     log global
     option dontlognull
     timeout connect 50000
     timeout client  50000
     timeout server  50000
    
    
    listen ListenName
            bind *:80
            mode tcp
            server YourServer 127.0.0.1:80
EOL
重新启动 HAProxy 并验证 bash
systemctl start haproxy
systemctl status haproxy

答案3

如果您需要生成最新 haproxy 版本的 RPM,请在 github 上找到这个项目。

https://github.com/DBezemer/rpm-haproxy

脚步

安装开发依赖项。

sudo yum groupinstall 'Development Tools'

检出 repo 并切换到您想要的版本的分支。

cd /opt
git clone https://github.com/DBezemer/rpm-haproxy.git 
cd ./rpm-haproxy
git checkout 2.4

构建 RPMS

make

产生的 RPM 将是./RPMS/

通过运行来更新您的版本

sudo rpm -U haproxy-2.4.9-1.amzn1.x86_64.rpm

答案4

在 HAProxy 2.0 的说明可用之前,您可以按照此 URL 上的说明安装 HAProxy 1.8:https://www.softwarecollections.org/en/scls/rhscl/rh-haproxy18/

相关内容