HAproxy2.0编译安装

如题
已邀请:

1、升级安装lua版本到5.3+,安装lua系统依赖




yum install vim iotop bc gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel zip unzip zlib-devel net-tools lrzsz tree ntpdate telnet lsof tcpdump wget libevent libevent-devel bc systemd-devel bash-completion traceroute libtermcap-devel ncurses-devel libevent-devel readline-devel -y


2、下载安装lua




mkdir -p /home/software/lua/
wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
tar -zxvf lua-5.3.5.tar.gz
cd /home/software/lua/lua-5.3.5
make linux test


3、验证LUA安装




/home/software/lua/lua-5.3.5/src/lua -v
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio


4、下载安装haproxy




mkdir -p  /home/software/haproxy/
wget https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-2.0.0.tar.gz/sha512/c5beb85522733a6df9741d8a6369cb4e476d6a49aa55163ea61b442715a6893aa7c5063221ff1c36c80ee124653b597499754bdd5764e306a755216b3af1908e/haproxy-2.0.0.tar.gz
tar -zxvf  haproxy-2.0.0.tar.gz
cd /home/software/haproxy/haproxy-2.0.0/
make 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=/home/software/lua/lua-5.3.5/src/ LUA_LIB=/home/software/lua/lua-5.3.5/src/ PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
cp haproxy /usr/sbin/


5、配置haproxy服务




cat >> /usr/lib/systemd/system/haproxy.service << EOF
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
EOF


5、初始化haproxy配置文件




mkdir -p /etc/haproxy/



mkdir -p /var/lib/haproxy



cp /home/software/haproxy/haproxy-2.0.0/examples/option-http_proxy.cfg /etc/haproxy/haproxy.cfg


主要参数如下:




#全局配置
global
#日志输出配置,所有日志都记录在本机,通过local0输出
log 127.0.0.1 local0 info
#最大连接数
maxconn 4096
#改变当前的工作目录
chroot /usr/local/haproxy/
#以指定的UID运行haproxy进程
uid 99
#以指定的GID运行haproxy进程
gid 99
#以守护进程方式运行haproxy #debug #quiet
daemon
#debug
#当前进程pid文件
pidfile /var/lib/haproxy/haproxy.pid

#默认配置
defaults
#应用全局的日志配置
log global
#默认的模式mode{tcp|http|health}
#tcp是4层,http是7层,health只返回OK
mode tcp
#日志类别tcplog
option tcplog
#不记录健康检查日志信息
option dontlognull
#3次失败则认为服务不可用
retries 3
#每个进程可用的最大连接数
maxconn 2000
#连接超时
timeout connect 5s
#客户端超时
timeout client 120s
#服务端超时
timeout server 120s

maxconn 2000
#连接超时
timeout connect 5s
#客户端超时
timeout client 120s
#服务端超时
timeout server 120s

#绑定配置
listen rabbitmq_cluster
bind 0.0.0.0:5672
#配置TCP模式
mode tcp
#加权轮询
balance roundrobin
#RabbitMQ集群节点配置,其中ip1~ip7为RabbitMQ集群节点ip地址
server rmq_node1 10.10.18.160:5672 check inter 5000 rise 2 fall 3 weight 1
server rmq_node2 10.10.18.159:5672 check inter 5000 rise 2 fall 3 weight 1

#haproxy监控页面地址
listen monitor
bind 0.0.0.0:8100
mode http
option httplog
stats enable
stats uri /stats
stats refresh 5s


6、启动haproxy




/bin/systemctl start haproxy.service


7、访问验证



http://10.10.18.157:8100/stats

要回复问题请先登录注册