CentOS7 Haproxy2.2.2部署示例
前端机:172.21.3.221
后端1:172.21.3.223
后端2:172.21.3.224
后端2台机上都要安装httpd或nginx
后端机1和2:yum -y install httpd
后端机1:echo "it's web1" >>/var/www/html/index.html
后端机2:echo "it's web2" >/var/www/html/index.html
后端机1和2:systemctl start httpd
安装lua
wget -c http://www.lua.org/ftp/lua-5.3.5.tar.gz
yum -y install readline-devel gcc gcc-c++ systemd-devel pcre-devel openeel openssl-devel
tar -zxvf lua-5.3.5.tar.gz
cd lua-5.3.5
make linux
make install INSTALL_TOP=/usr/local/lua
打开IP转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p
安装haproxy
wget https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-2.2.2.tar.gz/sha512/da76bd01c9b1c806145df133f6844798eecf6152b968e1739bcf5f9f87b41c1b0190484d033b310b2f0d4fddf48c036243ce8670a5668a9021f8496946094a39/haproxy-2.2.2.tar.gz
tar zxvf haproxy-2.2.2.tar.gz
cd haproxy-2.2.2/
make -j $(nproc) TARGET=linux-glibc USE_OPENSSL=1 USE_ZLIB=1 USE_LUA=1 LUA_LIB=/usr/local/lua/lib/ LUA_INC=/usr/local/lua/include/ USE_PCRE=1 USE_SYSTEMD=1
make install PREFIX=/usr/local/haproxy
cp /usr/local/haproxy/sbin/haproxy /usr/sbin/
cp ./examples/haproxy.init /etc/init.d/haproxy
chmod 755 /etc/init.d/haproxy
创建运行用户
useradd haproxy -s /sbin/nologin
创建haproxy.cfg文件
#vim /usr/local/haproxy/haproxy.cfg
global
daemon
maxconn 256
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
stats uri /status
stats auth zp:123456
frontend http-in
bind *:80
default_backend servers
backend servers
server server1 172.21.3.223:80 maxconn 32 check inter 2000 rise 2 fall 5
server server2 172.21.3.224:80 maxconn 32 check inter 2000 rise 2 fall 5
启动haproxy
haproxy -f /usr/local/haproxy/haproxy.cfg
ps: 停止haproxy: pkill haproxy
访问haproxy
http://172.21.3.221/status
用户名/密码:zp/123456
