编译安装HAProxy 2.8 LTS版本,官方源码包下载地址:http://www.haproxy.org/download/
由于CentOS7 之前版本自带的lua版本比较低并不符合HAProxy要求的lua最低版本(5.3)的要求,因此需要编译安装较新版本的lua环境,然后才能编译安装HAProxy。
1、查看现有的lua版本,如果版本太旧需要先更新lua
lua - v Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio |
2、安装基础命令及编译依赖环境
yum install gcc readline-devel |
3、下载和编译lua-5.4.6
cd /usr/local/src wget --no-check-certificate https: //www .lua.org /ftp/lua-5 .4.6. tar .gz tar xvf lua-5.4.6. tar .gz |
开始编译
cd lua-5.4.6 make linux test 查看编译安装的版本 src /lua - v Lua 5.4.6 Copyright (C) 1994-2023 Lua.org, PUC-Rio 把旧版本移走,换成新的版本 mv /usr/bin/lua /usr/bin/lua .old cp /usr/local/src/lua-5 .4.6 /src/lua /usr/bin/lua 确认现在的版本 lua - v Lua 5.4.6 Copyright (C) 1994-2023 Lua.org, PUC-Rio |
4、安装Haproxy
创建用户 useradd -r -s /sbin/nologin haproxy |
5、安装依赖
yum -y install gcc openssl-devel pcre-devel systemd-devel |
6、下载和编译
wget --no-check-certificate https: //www .haproxy.org /download/2 .8 /src/haproxy-2 .8.9. tar .gz tar xvf haproxy-2.8.9. tar .gz cd haproxy-2.8.9/ make TARGET=linux-glibc USE_OPENSSL=1 USE_PCRE=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC= /usr/local/src/lua-5 .4.6 /src LUA_LIB= /usr/local/src/lua-5 .4.6 /src make install PREFIX= /etc/haproxy 创建软连接 ln -s /etc/haproxy/sbin/haproxy /usr/bin/haproxy www.zhangfangzhou.cn 查看版本 haproxy - v HAProxy version 2.8.9-1842fd0 2024 /04/05 - 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.9.html Running on: Linux 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 |
7、创建配置文件
vi /etc/haproxy/haproxy .cfg global maxconn 100000 chroot /etc/haproxy stats socket /var/tmp/haproxy .sock mode 600 level admin user haproxy group haproxy daemon pidfile /var/tmp/haproxy .pid 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:3306 stats enable log global stats uri /haproxy-status stats auth haadmin:Admin@2018.. listen db_port bind :3306 mode tcp log global balance roundrobin option tcplog server db1 10.53.123.104:3306 check inter 3000 fall 2 rise 3 server db2 10.53.123.105:3306 check inter 3000 fall 2 rise 3 server db3 10.53.123.106:3306 check inter 3000 fall 2 rise 3 |
8、创建service服务
vi /usr/lib/systemd/system/haproxy .service [Unit] Description=HAProxy Load Balancer After=syslog.target network.target [Service] ExecStartPre= /usr/bin/haproxy -f /etc/haproxy/haproxy .cfg -c -q ExecStart= /usr/bin/haproxy -Ws -f /etc/haproxy/haproxy .cfg ExecReload= /bin/kill -USR2 $MAINPID LimitNOFILE=100000 [Install] WantedBy=multi-user.target |
systemctl enable haproxy
systemctl start haproxy
9、设置监听脚本
vi ha_watchdog.sh #!/bin/bash #www.zhangfangzhou.cn # 定义日志文件路径 LOG_FILE= "/var/log/haproxy_watchdog.log" # 定义 HAProxy 进程的名称 HAPROXY_PROCESS= "haproxy" # 检查 HAProxy 进程是否在运行 check_haproxy_process() { # 使用 pgrep 命令检查是否存在名为 haproxy 的进程 pgrep -x $HAPROXY_PROCESS > /dev/null } # 启动 HAProxy 进程 start_haproxy() { echo "$(date +'%Y-%m-%d %H:%M:%S') - Starting HAProxy..." >> $LOG_FILE systemctl start haproxy } # 主循环 while true ; do # 检查 HAProxy 进程是否在运行 if ! check_haproxy_process; then # 如果进程不存在,则重新启动 HAProxy 并记录日志 start_haproxy fi # 休眠一段时间后再次检查 sleep 60 done #设置开机启动 chmod +x ha_watchdog.sh vi /etc/rc . local nohup /root/ha_watchdog .sh & |
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/7402.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~