企业之haproxy
haproxy是一款功能强大、灵活好用反向代理软件,提供了高可用、负载均衡、后端服务器代理的功能,它在7层负载均衡方面的功能很强大(支持 cookie track, header rewrite等等),支持双机热备,支持虚拟主机,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入;同时还提供直观的监控页面,可以清晰实时的监控服务集群的运行状况。
在四层(tcp)实现负载均衡的软件:
lvs------>重量级
nginx------>轻量级,带缓存功能,正则表达式较灵活
haproxy------>模拟四层转发,较灵活
在七层(http)实现反向代理的软件:
haproxy------>天生技能,全面支持七层代理,会话保持,标记,路径转移;
nginx------>只在http协议和mail协议上功能比较好,性能与haproxy差不多;
apache------>功能较差
haproxy的配置文件分为四个部分:
全局配置:
global: 全局配置段
代理配置:
default: 默认配置----->所有在backend、frontend、linsten中相同内容可以在此定义;
frontend:前段配置----->定义前端套接字,接受客户端请求;
backend: 后端配置----->定义后端分配规则,与后端服务器交互;
listen: 绑定配置----->直接将指定的客户端与后端特定服务器绑定到一起;
实验环境:rhel6.5 selinux and iptables disabled
172.25.85.2 server2.example.com
172.25.85.3 server3.example.com
172.25.85.7 server7.example.com
172.25.85.8 server8.example.com
1.haproxy的安装和配置:
在server3和server2上安装:
yum install haproxy -y
/etc/init.d/haproxy start
在server2上:
vim /etc/haproxy/haproxy.cfg
需要注释掉一部分:
stats uri /status stats auth admin:westos
frontend westos *:80default_backend web backend webbalance roundrobinserver web1 172.25.31.10:80 check weight 1server web2 172.25.31.11:80 check weight 1 server backup 127.0.0.1:8080 backupserver backup 127.0.0.1:8080 backup
/etc/init.d/haproxy reload
检测:
打开server7和server8上的httpd:
在浏览器中打开172.25.85.2
交替出现 server7.linux.org server8.westos.org
在浏览器中打开172.25.85.2/status
检测2:
关闭server7和server8上的httpd
在server2上:
echo server2.zhangweijing > index.html
vim /etc/httpd/conf/httpd.conf
listen 8080
/etc/init.d/httpd start
在浏览器中打开172.25.85.2:
2. server2:
tail -f /var/log/messages
vim /etc/rsyslog.conf
$ModLoad imudp $UDPServerRun 514
local2.* /var/log/haproxy.log
/etc/init.d/rsyslog reload
tail -f /var/log/messages
tail -f /var/log/haproxy.log
3. server2:
vim /etc/haproxy/haproxy.cfg
增加 stats auth admin:westos/etc/init.d/haproxy reload
在浏览器中打开172.25.85.2/status
4.1 server2:
vim /etc/haproxy/haproxy.cfg
增加
frontend westos *:80acl bad src 172.25.85.250block if baderrorloc 403 http://172.25.85.2:8080default_backend web backend webbalance roundrobinserver web1 172.25.85.7:80 checkserver web2 172.25.85.8:80 checkserver backup 127.0.0.1:8080 backup
/etc/init.d/haproxy reload
在浏览器中打开http://172.25.85.2:8080/
4.2 server2:
vim /etc/haproxy/haproxy.cfg
frontend westos *:80acl bad src 172.25.85.250#block if bad#errorloc 403 http://172.25.85.2:8080redirect location http://172.25.85.3:80 if baddefault_backend web backend webbalance roundrobinserver web1 172.25.85.7:80 checkserver web2 172.25.85.8:80 checkserver backup 127.0.0.1:8080 backup
/etc/init.d/haproxy reload
在浏览器中打开http://172.25.85.3
4.3 server2:
vim /etc/haproxy/haproxy.cfg
frontend westos *:80acl bad src 172.25.85.250#block if bad#errorloc 403 http://172.25.85.2:8080#redirect location http://172.25.85.3:80 if bad# http-request deny if denyfile baddefault_backend web backend webbalance roundrobinserver web1 172.25.85.7:80 checkserver web2 172.25.85.8:80 checkserver backup 127.0.0.1:8080 backup
/etc/init.d/haproxy reload
在server7:
cd /var/www/html/
mkdir admin
cd admin/
echo server7.server7 > index.html
在server8:
cd /var/www/html/
mkdir admin
cd admin/
echo server8.server8 > index.html
在浏览器中打开http://172.25.85.2/admin/
交替出现 server7.server7 server8.server8
4.4 server2:
vim /etc/haproxy/haproxy.cfg
frontend westos *:80acl bad src 172.25.85.250acl denyfile path /admin/#block if bad#errorloc 403 http://172.25.85.2:8080#redirect location http://172.25.85.3:80 if badhttp-request deny if denyfile baddefault_backend web backend webbalance roundrobinserver web1 172.25.85.7:80 checkserver web2 172.25.85.8:80 checkserver backup 127.0.0.1:8080 backup
/etc/init.d/haproxy reload
在浏览器中打开http://172.25.85.2/admin/
5.server2:
vim /etc/haproxy/haproxy.cfg
frontend westos *:80acl bad src 172.25.85.250acl denyfile path /admin/#block if bad#errorloc 403 http://172.25.85.2:8080#redirect location http://172.25.85.3:80 if bad#http-request deny if denyfile badacl url_static path_beg -i /static /p_w_picpaths /javascript /stylesheetsacl url_static path_end -i .jpg .gif .png .css .jsuse_backend p_w_picpaths if url_staticdefault_backend upload
backend p_w_picpathsbalance roundrobinserver web1 172.25.85.7:80 checkserver backup 127.0.0.1:8080 backup
backend uploadserver web2 172.25.85.8:80 check
/etc/init.d/haproxy reload
server7:
cd /var/www/html/
mkdir p_w_picpaths ##给这个目录下方一个小图片redhat.jpg
在浏览器中打开:http://172.25.85.2/p_w_picpaths/redhat.jpg
6.server2:
vim /etc/haproxy/haproxy.cfg
frontend westos *:80acl bad src 172.25.85.250acl denyfile path /admin/#block if bad#errorloc 403 http://172.25.85.2:8080#redirect location http://172.25.85.3:80 if bad#http-request deny if denyfile badacl url_static path_beg -i /static /p_w_picpaths /javascript /stylesheetsacl url_static path_end -i .jpg .gif .png .css .jsacl read method GETacl read method HEADacl write method PUTacl write method POST # use_backend p_w_picpaths if url_static # use_backend p_w_picpaths if readuse_backend upload if writedefault_backend p_w_picpaths
backend p_w_picpathsbalance roundrobinserver web1 172.25.85.8:80 check
backend uploadserver web1 172.25.85.7:80 check
/etc/init.d/haproxy reload
在server8:
cd /var/www/html ##将upload文件放在这个目录下
chown 777 upload
cd /var/www/html /upload
mkdir upload
在浏览器中打开172.25.85.2/upload就可以上传文件了。
转载于:https://blog.51cto.com/nanyoujiayu/1834579
企业之haproxy相关推荐
- 架构师课程之-haproxy专业级负载均衡软件权威讲解
老男孩培训顶级架构师课程[企业场景haproxy专业负载均衡架构方案]教学大纲 2014/4/12日激情开讲! 伙伴们,既然选择了远方,就只顾风雨兼程! 老男孩老师已经做好了自断筋脉,把全部功力都传给 ...
- 计算机集群 -- Linux 集群技术概述
Linux 集群技术概述 一.什么是集群 ? 二.常见集群架构 三.为什么要使用集群 ? 四.集群分类 1.负载均衡集群 2.高可用集群 3.高性能计算集群 4.网格计算 五.常用集群软.硬件 一.什 ...
- 拉开大变革序幕(中):Docker 场景化尝试
runC 进行时 由Docker公司和CoreOS,加上一些顶牛的大公司,如Google,IBM,Microsoft,EMC,Amazon,思科,华为等等,在Linux基金会的支持下于2015年6月份 ...
- 企业运维之七层负载均衡--Haproxy
企业运维之七层负载均衡--Haproxy 1. 基础介绍 2. 负载均衡的类型 3. Haproxy 的部署 3.1 Haproxy 实现负载均衡和监控 3.2 日志采集 3.3 调度算法 3.5 设 ...
- 企业集群平台架构设计与实现(lvs/haproxy/keepalived)-高俊峰-专题视频课程
企业集群平台架构设计与实现(lvs/haproxy/keepalived)-4979人已学习 课程介绍 爱维Linux独家出品,集合目前热门的集群应用技术LVS/HAPROXY/Kee ...
- haproxy keepalived_企业实战KeepAlived+Redis+Haproxy实现主从热备、负载均衡、秒级切换...
最近公司生产环境需要做一个Redis+Keepalived+Haproxy的集群架构,分别用六个端口,实现多路复用,最终实现主从热备.负载均衡.秒级切换. 一,Redis6.06集群官网部署,这里不再 ...
- Linux之企业实训篇——haproxy与pacemaker实现高可用负载均衡
注:haproxy与fence的相关配置可以参照一下我之前写的博客 >_< ~~~ 一.简介 Pacemaker是一个集群资源管理器.它利用集群基础构件(OpenAIS,heartbeat ...
- fence机制 linux_Linux的企业-高可用集群Haproxy+corosync+pacemaker+fence
一.Haproxy简介 Haproxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. HAProxy特别适用于那些负载特大的web站点, ...
- 【APP Web架构】企业web高可用集群实战之haproxy篇续(二)
第三部分:lnmp集群部署 承接上篇:http://linuxops.blog.51cto.com/2238445/899637 请参考本人的以下文章: http://linuxops.blog.51 ...
- 烂泥:haproxy学习之手机规则匹配
2019独角兽企业重金招聘Python工程师标准>>> 本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 今天我们来介 ...
最新文章
- python3.7和3.8的区别-Python 3.8 有什么新变化
- POJ3189二分最大流(枚举下界,二分宽度,最大流判断可行性)
- 概率论与数理统计中的算子半群 第一讲 Banach-Steinhaus定理1 Baire‘s Category与Banach-Steinhaus定理的证明
- 116. Leetcode 1143. 最长公共子序列 (动态规划-子序列问题)
- Java的二十三种设计模式(原型模式(Prototype))
- 关于文档的基本操作---ElasticSearch
- yearProgress.vue
- tiny4412移植tslib库
- 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
- 【转】Android Fragment中使用SurfaceView切换时闪一下黑屏的解决办法
- 14、数 据 库:破解还原Access数据库密码
- 利用树莓派完成POS58打印机的无驱动打印(初学者)
- 转正述职报告 实习转正 工作汇报 述职模板免费下载_PPTX图片设计素材_包图网888pic.com...
- python 循环写入excel_用PYTHON将“for”循环的输出写到excel中
- 新建tag 查看本地Tag 查看远端Tag 基于远端Tag新建分支 删除远端Tag 等操作
- OpenStack集成SDN控制器
- 支付宝与工行“决裂”,备付金存管行易主建行
- 深度学习、Linux基础、语音技术等电子书籍分享,仅供学习
- IE8打不开网页提示sysfader错误的解决办法
- 511遇见易语言取数组成员数和取数组下标