负载均衡之haproxy

1. 源码编译安装haproxy 2.x,配置服务启动脚本。

wget -c https://repo.huaweicloud.com/haproxy/2.4/src/haproxy-2.4.8.tar.gz
yum install -y gcc gcc-c++ make
curl -R -O http://www.lua.org/ftp/lua-5.4.4.tar.gz
tar zxf lua-5.4.4.tar.gz -C /usr/local/src/
cd /usr/local/src/lua-5.4.4/
make linux test
cp /usr/local/src/lua-5.4.4/src/lua /usr/bin/lua
lua -v
tar xf haproxy-2.4.8.tar.gz -C /usr/local/src/
tar xf haproxy-2.4.8.tar.gz -C /usr/local/src/
cd /usr/local/src/haproxy-2.4.8/

yum install openssl-devel pcre-devel systemd-devel -y

 cd /usr/local/src/haproxy-2.4.8/
make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.4.4/src/ LUA_LIB=/usr/local/src/lua-5.4.4/src/
make install PREFIX=/usr/local/haproxy

tree /usr/local/haproxy/ 

ln -sv /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy
haproxy -v

查看版本
vim /usr/lib/systemd/system/haproxy.service


cd
mkdir /etc/haproxy
vim /etc/haproxy/haproxy.cfg

 mkdir /var/lib/haproxy
useradd -r -s /sbin/nologin -d /var/lib/haproxy haproxy
systemctl enable --now haproxy
systemctl status haproxy
systemctl status haproxy -l
yum -y install httpd
pstree -p |grep haproxy

发现没安装pstree

yum install psmisc -y

systemctl  restart   haproxy

测试

 

2. 配置haproxy日志。

vim /etc/rsyslog.conf 
$ModLoad imudp
$UDPServerRun 514
......
# Save haproxy messages also to haproxy.log
local2.*                                               /var/log/haproxy.log
......
# systemctl restart rsyslog


3. 配置haproxy实现web服务器负载均衡。

 

两台服务器

echo "`hostname -I`,web test page" > /var/www/html/index.html
echo "`hostname -I`,web test page" > /var/www/html/index.html

systemctl start httpd
 

4. 通过haproxy的acl规则实现智能负载均衡(动静分离)。

 

vim /etc/haproxy/conf.d/test.cfg

frontend openlab_http_port
        bind :88
        mode http
        balance roundrobin
        log global
        option httplog

###################### acl setting ###############################
        acl acl_static path_beg  -i /static /images /javascript
        acl acl_static path_end  -i .jpg .jpeg .png .gif .css.js

###################### acl hosts #################################
        use_backend static_hosts if acl_static
        default_backend app_hosts

###################### backend hosts #############################
backend mobile_hosts
        mode http
        server w1 192.168.40.160:80 check inter 2000 fall 3 rise 5

backend pc_hosts
        mode http
        server w2 192.168.40.170:80 check inter 2000 fall 3 rise 5

创建文件

mkdir /var/www/html/static
echo "`hostname -I`" > /var/www/html/static/test.html

curl 192.168.40.160/static/test.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值