学习是一个逐步发现自己无知的过程!

编译部署HAProxy

这里使用HAProxy作为Mysql MGR集群的负载均衡。

解决依赖:

yum install gcc pcre-devel openssl-devel zlib-devel

下载HAProxy

2.7是当前最新的稳定版

https://www.haproxy.org/download/2.7/src/haproxy-2.7.9.tar.gz

解压并编译

tar xf haproxy-2.7.9.tar.gz
cd haproxy2.7.9
make TARGET=linux-glibc USE_OPENSSL=1 USE_ZLIB=1 USE_PCRE=1
make PREFIX=/opt/haproxy install
echo $?

编译参数:

TARGET=linux-glibc:这个选项设置目标平台为Linux,并使用GNU C库(glibc)。linux-glibc选项指定要构建软件的特定环境。

USE_OPENSSL=1:此选项启用使用OpenSSL库。OpenSSL是一个流行的开源库,广泛用于SSL/TLS加密和密码学功能。

USE_ZLIB=1:此选项启用使用zlib库。zlib是一个压缩库,提供数据压缩和解压缩的函数,通常在许多应用程序和格式中使用。

USE_PCRE=1:此选项启用使用PCRE库。PCRE(Perl Compatible Regular Expressions)是一个提供使用正则表达式进行模式匹配的函数集合,通常用于文本处理和搜索。

haproxy配置文件

# 配置文件目录
mkdir /opt/haproxy/conf
# 写入配置文件
cat >> /opt/haproxy/conf/haproxy.cfg << EOF
global
    chroot   /opt/haproxy
    pidfile  /opt/haproxy/haproxy.pid
    daemon
defaults
    mode tcp               #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
    retries 2               #两次连接失败就认为是服务器不可用,也可以通过后面设置
    option redispatch       #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
    option abortonclose     #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
    maxconn 4096            #默认的最大连接数
    timeout connect 5000ms  #连接超时
    timeout client 30000ms  #客户端超时
    timeout server 30000ms  #服务器超时
    #timeout check 2000      #=心跳检测超时
    log 127.0.0.1 local0 err    #[err warning info debug]
    balance roundrobin      # 采用轮询算法

################# 配置#################
listen mysql-mgr                 #这里是配置负载均衡,可以任意
    bind 0.0.0.0:33069            #这里是监听的IP地址和端口,端口号可以在0-65535之间,要避免端口冲突
    mode tcp                     #连接的协议,这里是tcp协议
    #maxconn 4086
    #log 127.0.0.1 local0 debug
    server mgr1 10.211.55.122:3306
    server mgr2 10.211.55.123:3306
    server mgr3 10.211.55.124:3306
EOF

将服务加入systemd管理

cat >> /etc/systemd/system/haproxy.service << EOF
[Unit]
Description=HAProxy Load Balancer
After=network.target

[Service]
ExecStart=/opt/haproxy/sbin/haproxy -f /opt/haproxy/conf/haproxy.cfg
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGTERM $MAINPID
KillMode=mixed
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target
EOF

启动并加入开机自启

systemctl start haproxy.service
systemctl enable haproxy.service
赞(0)
未经允许不得转载:劉大帥 » 编译部署HAProxy

你的评论可能会一针见血! 抢沙发

登录

找回密码

注册