HA负载均衡

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
posted @ 2020-09-07 17:26  浒多年以后  阅读(291)  评论(0)    收藏  举报