使用mod_proxy_balancer实现负载均衡
来源:百度文库 编辑:神马文学网 时间:2024/04/18 17:34:00
负载均衡
由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。
针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。
mod_proxy_balancer
mod_proxy_balancer是Apache2.1版本及更高级版本才可以使用,在网上关于mod_proxy_balancer的介绍比较少,特别是中文版的。近日,由于项目的需要,需要用Apache做一个负载均衡。刚开始考虑使用的是使用mod_rewrite,由于mod_rewrite使用起来比较复杂,所以就放弃啦。
废话少说,下面介绍mod_proxy_balancer的一个简单的例子。
首先,在主配置文件httpd.conf添加以下Module:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
再增加以下元素:
ProxyRequests Off
BalancerMember http://192.168.0.150:8001 loadfactor=1
BalancerMember http://192.168.0.150:8002 loadfactor=1
BalancerMember http://192.168.0.150:8003 loadfactor=1
BalancerMember http://192.168.0.150:8004 loadfactor=1
设置虚拟主机:
ServerAdmin chenzhaozhan@hotmail.com
ServerName www.example.com
ServerAlias example.com
ProxyPass / balancer://test/
ProxyPassReverse / balancer://test/
这里需要多废话几句,刚开始我没有用虚拟主机,只是添加ProxyPass /test balancer://test,测试的时候没有什么问题,因为每个网站只有一个网站,访问的时候没有问题。后来用http://localhost/a.htm访问就崩溃啦,没有权限访问该页面,返回http 403的错误。最后改用以上的方式解决问题。
而且还可以同样在http.conf主配置文件主添如下元素:
SetHandler balancer-manager
Order Allow,Deny
Allow from all
如果配置成功后你可以可以在地址栏输入 localhost/balancer-manager,将可以清楚的看到各节点的工作运行状态:)
可以看到以下的结果:
同样,可以配置server-status查看信息:
SetHandler server-status
Order Allow,Deny
Allow from all
由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。
针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。
mod_proxy_balancer
mod_proxy_balancer是Apache2.1版本及更高级版本才可以使用,在网上关于mod_proxy_balancer的介绍比较少,特别是中文版的。近日,由于项目的需要,需要用Apache做一个负载均衡。刚开始考虑使用的是使用mod_rewrite,由于mod_rewrite使用起来比较复杂,所以就放弃啦。
废话少说,下面介绍mod_proxy_balancer的一个简单的例子。
首先,在主配置文件httpd.conf添加以下Module:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
再增加以下元素:
ProxyRequests Off
BalancerMember http://192.168.0.150:8001 loadfactor=1
BalancerMember http://192.168.0.150:8002 loadfactor=1
BalancerMember http://192.168.0.150:8003 loadfactor=1
BalancerMember http://192.168.0.150:8004 loadfactor=1
设置虚拟主机:
ServerAdmin chenzhaozhan@hotmail.com
ServerName www.example.com
ServerAlias example.com
ProxyPass / balancer://test/
ProxyPassReverse / balancer://test/
这里需要多废话几句,刚开始我没有用虚拟主机,只是添加ProxyPass /test balancer://test,测试的时候没有什么问题,因为每个网站只有一个网站,访问的时候没有问题。后来用http://localhost/a.htm访问就崩溃啦,没有权限访问该页面,返回http 403的错误。最后改用以上的方式解决问题。
而且还可以同样在http.conf主配置文件主添如下元素:
SetHandler balancer-manager
Order Allow,Deny
Allow from all
如果配置成功后你可以可以在地址栏输入 localhost/balancer-manager,将可以清楚的看到各节点的工作运行状态:)
可以看到以下的结果:
同样,可以配置server-status查看信息:
SetHandler server-status
Order Allow,Deny
Allow from all
使用mod_proxy_balancer实现负载均衡
服务器负载均衡有哪些实现方法
nginx做为反向代理实现负载均衡的例子
负载均衡技术的三种实现方法
squid+nginx负载均衡实现单机跑多个squid
轻松实现Apache,Tomcat集群和负载均衡--------fgfg
基于DNS的多机均衡负载的实现
网络负载均衡
负载均衡技术介绍
负载均衡调度
linux下双网卡绑定技术实现负载均衡和失效保护
[原创] Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 )
利用集群技术实现Web服务器的负载均衡 | LVS中文站点
Radware:如何实现CDN内容发布网全局负载均衡与内容请求路由
Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 ) - ChinaUnix.net
nginx做为反向代理实现负载均衡的例子 - cc的脚印 - CSDN博客
Apache和tomcat负载均衡
“软”负载均衡学习点滴
集群的负载均衡技术
网站架构之负载均衡
负载均衡(Load Balance)
[原创] Linux下双网卡绑定技术实现负载均衡和失效保护 ( 原 创 ) - ChinaUnix.net
Nginx 简单的负载均衡配置示例
分布式编译环境中的负载均衡