Linux中基于haproxy实现(负载均衡,动静分离,读写分离,认证刷新,黑名单和重定向)

haproxy

1.简介
haproxy是一款非常的专业的全7层的反向代理负载均衡器,采用的是epoll机制,可以实现4层和7层的负载均衡,4层使用的是tcp模式可以模拟lvs,7层使用的是http模式可以模拟nginx,nginx和haproxy的处理速度都远不及lvs,因为他们是工作在用户空间的,而lvs是工作在内核空间的

在四层(tcp)实现负载均衡的软件:
lvs---------->重量级
nginx-------->轻量级,带缓存功能,正则表达式较灵活
haproxy------>模拟四层转发,较灵活
在七层(http)实现反向代理的软件:
haproxy------>天生技能,全面支持七层代理,会话保持,标记,路径转移;
nginx-------->只在http协议和mail协议上功能比较好,性能与haproxy差不多;
apache------->功能较差

2.负载均衡
(1)环境配置
server1:172.25.26.1作为haproxy服务器
haproxy的安装

tar zxf haproxy-1.7.3.tar.gz
yum install -y rpm-build gcc
yum install -y pcre-devel
rpmbuild -tb haproxy-1.7.3.tar.gz
cd rpmbuild/RPMS/x86_64
rpm -ivh haproxy-1.7.3-1.x86_64.rpm
cd ~/haproxy-1.8.3/examples/
cp content-sw-sample.cfg /etc/haproxy/haproxy.cfg

配置默认文件
vim /etc/haproxy/haproxy.cfg

global
        maxconn         10000
        stats socket    /var/run/haproxy.stat mode 600 level admin
        log             127.0.0.1 local0	##日志输出配置,所有日志都记录在本机 ,通过local0输出
        uid             200
        gid             200
        chroot          /var/empty
        daemon		##以后台形式运行haproxy

defaults
        mode            http				##默认模式 tcp是4层,http是七层
        log             global
        option          httplog				##日志级别
        option          dontlognull			##不记录健康检查日志信息
        monitor-uri     /monitoruri
        maxconn         8000
        timeout client  30s
        option prefer-last-server
        retries         2
        option redispatch
        timeout connect 5s
        timeout server  5s

        stats uri       /admin/stats			##监视窗口



# The public 'www' address in the DMZ
frontend public
        bind            *:80 name clear			##默认端口
        #bind            192.168.1.10:443 ssl crt /etc/haproxy/haproxy.pem
        #use_backend     static if { hdr_beg(host) -i img }
        #use_backend     static if { path_beg /img /css   }

        default_backend dynamic					##默认访问后端

#the application servers go here
backend dynamic
        balance         roundrobin				##轮询
        server          web1 172.25.26.2:80  check inter 1000
        server          web2 172.25.26.3:80  check inter 1000
        #两个后台的主机,check inter 1000 检测心跳频率 

开启服务

/etc/init.d/haproxy start

如果server1的80端口被httpd占用的话,可能不能正常开启

 vim /etc/httpd/conf/httpd.conf 
 136 Listen 8080

更改后重新开启
(3)测试查看
server2和server3开启httpd服务,主机测试curl 172.25.41.1查看是否有负载均衡
在这里插入图片描述
主机浏览:
http://172.25.41.1/admin/stats
http://172.25.41.1/monitoruri
在这里插入图片描述
刷新
在这里插入图片描述
在这里插入图片描述
3.认证/刷新
vim /etc/haproxy/hap

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值