CentOS 编译安装HAProxy

来自Linux78|wiki
Bob讨论 | 贡献2020年7月17日 (五) 09:46的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
yum install libtermcap-devel ncurses-devel libevent-devel readline-devel gcc gcc-c++ glibc  glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools iotop zip  unzip  zlib-devel screen lsof wget  ntpdate  -y
cd /data
wget http://www.lua.org/ftp/lua-5.3.5.tar.gz
tar xf lua-5.3.5.tar.gz
cd  lua-5.3.5
make linux test
cd /data
wget http://www.haproxy.org/download/2.0/src/haproxy-2.0.11.tar.gz ;
tar xf haproxy-2.0.11.tar.gz
cd haproxy-2.0.11/
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=/data/lua-5.3.5/src/ LUA_LIB=/data/lua-5.3.5/src/ PREFIX=/data/haproxy
make install PREFIX=/data/haproxy
echo >> /usr/lib/systemd/system/haproxy.service << EOF
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
ExecStartPre=/data/haproxy/sbin/haproxy -f /data/haproxy/conf/haproxy.cfg -f /data/haproxy/conf/pubcfg -c -q
ExecStart=/data/haproxy/sbin/haproxy -Ws -f /data/haproxy/conf/haproxy.cfg -f /data/haproxy/conf/pubcfg -p /data/haproxy/pid/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
mkdir /data/haproxy/conf
mkdir /data/haproxy/pid
cat >> /data/haproxy/conf/haproxy.cfg << EOF
global
maxconn 100000
chroot /data/haproxy
stats socket /data/haproxy/pid/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 /data/haproxy/pid/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:admin
listen web_port
bind *:80
mode http
log global
server web1 192.168.0.22:80 check inter 3000 fall 2 rise 5
EOF
chown 99.99 /data/haproxy/pid
/data/haproxy/sbin/haproxy  -c -f /data/haproxy/conf/haproxy.cfg -f /data/haproxy/conf/vhost/
systemctl start haproxy.service