HAProxy 安装

一、Ubuntu 安装 HAProxy

自动生成命令下载网站

https://haproxy.debian.net/

添加仓库

apt-get install --no-install-recommends software-properties-common
add-apt-repository ppa:vbernat/haproxy-2.4

更新apt源,并过滤出haproxy安装包

apt update
apt-cache madison haproxy

安装haproxy

apt-get install haproxy=2.4.\*

验证haproxy版本

haproxy -v

二、第三方包安装HAProxy

下载rpm包

https://pkgs.org/download/haproxy

安装haproxy

wget http://www.nosuchhost.net/~cheese/fedora/packages/epel-7/x86_64/cheese-release-7-1.noarch.rpm
rpm -ivh cheese-release-7-1.noarch.rpm
yum install haproxy-1.8.14-1.el7.x86_64.rpm -y

验证haproxy版本

haproxy -v

三、编译安装 HAProxy

3.1、安装编译依赖

#centos
yum -y install gcc make gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel libtermcap-devel ncurses-devel libevent-devel readline-devel 
#Ubuntu
apt -y install gcc make openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev libreadline-dev libsystemd-dev

3.2、较新版本的haproxy,需要解决lua依赖

cd /usr/local/src/
wget http://www.lua.org/ftp/lua-5.4.3.tar.gz
tar xvf lua-5.4.3.tar.gz
cd lua-5.4.3
make all test

查看当前系统lua版本

lua -v
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio

查看当前编译安装lua版本

./src/lua -v
Lua 5.4.3  Copyright (C) 1994-2020 Lua.org, PUC-Rio

由于编译安装的版本和系统当前版本不一致,编译安装haproxy时,需要指定编译安装的版本。

3.3、编译安装HAProxy

cd /usr/local/src/
tar xvf haproxy-2.2.12.tar.gz
cd haproxy-2.2.12
#HAProxy 1.8及1.9版本编译参数:
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.2.12编译参数:
make -j 2 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.3/src/ LUA_LIB=/usr/local/src/lua-5.4.3/src/ PREFIX=/apps/haproxy
make install PREFIX=/apps/haproxy

验证haproxy程序能否正常运行

[root@centos7 src]# /apps/haproxy/sbin/haproxy -v
HA-Proxy version 2.2.12-a723e77 2021/03/31 - https://haproxy.org/
Status: long-term supported branch - will stop receiving fixes around Q2 2025.
Known bugs: http://www.haproxy.org/bugs/bugs-2.2.12.html
Running on: Linux 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64

3.4、将可执行程序copy至/usr/sbin/下

cp /apps/haproxy/sbin/haproxy /usr/sbin/

3.5、创建HAProxy配置文件

mkdir /etc/haproxy
vim /etc/haproxy/haproxy.cfg
global
maxconn 100000
chroot /apps/haproxy
stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
uid 99
gid 99
daemon
#nbproc 4
#cpu-map 1 0
#cpu-map 2 1
#cpu-map 3 2
#cpu-map 4 3
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 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 admin:123456

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

3.6、创建pid、socket文件所在目录

mkdir -p /var/lib/haproxy/

3.7、HAProxy启动脚本

vim /lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target

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

[Install]
WantedBy=multi-user.target

3.8、修改PATH

echo "PATH=/apps/haproxy/sbin:${PATH}" > /etc/profile.d/haproxy.sh

3.9、启动haproxy服务,查看端口9999是否开启

systemctl daemon-reload
systemctl enable --now haproxy
[root@centos7 ~]# ss -ntl
State      Recv-Q Send-Q                        Local Address:Port                                       Peer Address:Port
LISTEN     0      100                               127.0.0.1:25                                                    *:*
LISTEN     0      128                                       *:9999                                                  *:*
LISTEN     0      128                               10.0.0.17:80                                                    *:*
LISTEN     0      128                                       *:22                                                    *:*
LISTEN     0      100                                   [::1]:25                                                 [::]:*
LISTEN     0      128                                    [::]:22                                                 [::]:*

3.10、尝试访问haproxy状态页

URL:http://10.0.0.17:9999/haproxy-status
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值