编译安装Haproxy
1.HAProxy 支持基于lua实现功能扩展,lua是一种小巧的脚本语言,于1993年由巴西里约热内卢天主教大 学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组开发,其设计目的是为了嵌入 应用程序中,从而为应用程序提供灵活的扩展和定制功能。
编译安装lua
yum install gcc readline-devel make
curl -R -O http://www.lua.org/ftp/lua-5.4.4.tar.gz tar zxf lua-5.4.4.tar.gz cd lua-5.4.4 make all test
2.编译安装haproxy
yum -y install gcc openssl-devel pcre-devel systemd-devel
haproxy源码包下载地址:
https://www.haproxy.org/download/
这里我们就选择haproxy的2.5版本
tar xvf haproxy-2.5.7.tar.gz -C /usr/local/src
cd /usr/local/src/haproxy-2.5.7/
haproxy-2.5.7]# make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/root/lua-5.4.4/src/ LUA_LIB=/root/lua-5.4.4/src/
make install PREFIX=/apps/haproxy
ln -s /apps/haproxy/sbin/haproxy /usr/sbin/
结束
3.启动
创建service文件(默认没有)
vim /usr/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 LimitNOFILE=100000 [Install] WantedBy=multi-user.target
创建配置文件(只为了启动,后期自己捣鼓)
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 user haproxy group haproxy 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 local2 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 haadmin:123456 listen web_port bind 10.0.0.7:80 mode http log global server web1 127.0.0.1:8080 check inter 3000 fall 2 rise 5 mkdir /var/lib/haproxy useradd -r -s /sbin/nologin -d /var/lib/haproxy haproxy systemctl enable --now haproxy