1、打开apache的配置文件httpd.conf,打开如下项

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
2、apache的负载均衡的三种部署方式:
 
(1)、轮询均衡策略
打开httpd.conf,文件尾部加上如下代码:
#告诉apache使用反向代理
ProxyRequests Off
#配置工作在集群中的节点列表
<Proxy balancer://mycluster>
BalancerMember http://www.site1.com
BalancerMember http://www.site2.com
</Proxy>
# ProxyPass是配置虚拟服务器的命令
# /表示发送web请求的URL前缀
# balancer表示要配置负载均衡
# mycluster表示负载均衡名
# 必须以/结尾
ProxyPass /site balancer://mycluster/

虚拟主机的配置如下:

<VirtualHost _default_:80>
DocumentRoot "D:/wwwroot"
ServerName localhost
ErrorLog "logs/error.log"
CustomLog "logs/access.log" common
</VirtualHost> <VirtualHost *:80>
DocumentRoot D:/wwwroot/site1
ServerName www.site1.com
</VirtualHost> <VirtualHost *:80>
DocumentRoot D:/wwwroot/site2
ServerName www.site2.com
</VirtualHost>
配置好后,我在浏览器中访问
http://localhost/site/

浏览器上会循环反复的显示site1和site2。(*在两个虚拟主机下创建index.html,分别写入site1和site2用于测试)

 
(2)、按权重分配均衡策略
给 BalancerMember 加上 loadfactor 参数即可,取值在1-100。
#告诉apache使用反向代理
ProxyRequests Off
#配置工作在集群中的节点列表
<Proxy balancer://mycluster>
BalancerMember http://www.site1.com loadfactor=4
BalancerMember http://www.site2.com loadfactor=1
</Proxy>
# ProxyPass是配置虚拟服务器的命令
# /表示发送web请求的URL前缀
# balancer表示要配置负载均衡
# mycluster表示负载均衡名
# 必须以/结尾
ProxyPass /site balancer://mycluster/

虚拟主机的配置如上,这里就不拷贝了。

配置好后重启apache,然后访问上面的
http://localhost/site/

可以很明显的看到,前面四次是访问的site1站,后面一次访问的是site2。

这样就可以配置不同的权重了。
 
(3)、负载分配算法
负载均衡会尽量让各个服务器接受的请求次数满足预设的比例。如果要改变算法,可以使用 lbmethod 属性。
lbmethod可能的取值有: 
lbmethod=byrequests 按照请求次数均衡(默认) 
lbmethod=bytraffic 按照流量均衡 
lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器) 
#告诉apache使用反向代理
ProxyRequests Off
#配置工作在集群中的节点列表
<Proxy balancer://mycluster>
BalancerMember http://www.site1.com loadfactor=4
BalancerMember http://www.site2.com loadfactor=1
</Proxy>
# ProxyPass是配置虚拟服务器的命令
# /表示发送web请求的URL前缀
# balancer表示要配置负载均衡
# mycluster表示负载均衡名
# 必须以/结尾
ProxyPass /site balancer://mycluster/
# 按照流量均衡
ProxySet lbmethod=bytraffic
(4)、热备份
ProxyRequests Off
<Proxy balancer://mycluster>
BalancerMember http://www.site1.com
BalancerMember http://www.site2.com status=+H
</Proxy>
ProxyPass /site balancer://mycluster/
请求总是流向site1,一旦site1挂掉, apache会检测到错误并把请求分流给site2。apache会每隔几分钟检测一下site1的状况,如果site1恢复,就继续使用site1。

win 下 apache 实现负载均衡的更多相关文章

  1. Windows下apache+tomcat负载均衡

    Windows下apache+tomcat负载均衡 网上已经有很多的资料,但是很多都比较零碎,需要整合一起才能搭建出理想的负载均衡,正好前段时间搭建了windows与linux下的负载均衡,在此记录, ...

  2. Apache+Tomcat负载均衡问题集锦

    之前在windows 环境下搭建了下apache+tomcat负载均衡(不会的能够參考之前的文档,文档对于linux和windows都适用),一帆风顺.没有出现不论什么问题.今天尝试着在linux下搭 ...

  3. 【高可用HA】Apache (4) —— Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_jk

    Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_jk httpd版本: httpd-2.4.17 jk版本: tomcat-connectors-1.2.41 参考 ...

  4. 【高可用HA】Apache (3) —— Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_proxy

    Mac下配置Apache Httpd负载均衡(Load Balancer)之mod_proxy httpd版本: httpd-2.4.17 参考来源: Apache (1) -- Mac下安装Apac ...

  5. 介绍一下再Apache下的Tomcat负载均衡的一些使用问题

    在负载均衡技术中,硬件设备是比较昂贵的,对于负载均衡的学习者如果不是在企业中应用或者是学员中学习,很少有机会能碰到实际操作的训练.(http://xz.8682222.com)所以,很多朋友都会选择软 ...

  6. Linux平台上搭建apache+tomcat负载均衡集群

    传统的Java Web项目是通过tomcat来运行和发布的.但在实际的企业应用环境中,采用单一的tomcat来维持项目的运行是不现实的.tomcat 处理能力低,效率低,承受并发小(1000左右).当 ...

  7. 关于Apache做负载均衡

    Tomcat+apache配置负载均衡系统笔记 在Apache   conf目录下的httpd.conf文件添加以下文字 #---------------------start------------ ...

  8. 1.Apache+Tomcat负载均衡+集群配置

    1.本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置. 准备环境 Apache Apache是 ...

  9. 微软Azure 经典模式下创建内部负载均衡(ILB)

    微软Azure 经典模式下创建内部负载均衡(ILB) 使用之前一定要注意自己的Azure的模式,老版的为cloud service模式,新版为ARM模式(资源组模式) 本文适用于cloud servi ...

随机推荐

  1. 自己根据js的兼容封装了一个小小的js库

    var gys = function () { } //oParent父节点 //获取所有的子元素 gys.prototype.getElementChildren = function (oPare ...

  2. MySQL数据库索引(上)

    上一篇回顾: 1.数据页由七部分组成,包括File Header(描述页的信息).Page Header(描述数据的信息).Infimum + Supremum(页中的虚拟数据最大值和最小值).Use ...

  3. Mysql-事务,原子性操作

    事物分为 自动(默认的)和手动(需开启事务)两种 -- 事务 start transaction; -- commite; 提交事务 -- rollback; 回滚事务 create table if ...

  4. 数据库2.0改进e-r图

    1.新建教师实体集并将1.0中的任课教师,教务老师归类为教师. 2.将实体集考勤表设置为弱实体集. 3.将学生与考勤表的关系由属于关系设置为出勤关系. 4.出勤关系中设置出勤记录属性和教师留言属性. ...

  5. Mysql 开启Federated引擎以及使用

    FEDERATED是其中一个专门针对远程数据库的实现.但通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中通过这个引擎可以实现类似Oracle 下DBLINK的远程 ...

  6. leetcode492

    public class Solution { public int[] ConstructRectangle(int area) { Dictionary<int, int> dic = ...

  7. VBA 浏览文件夹

    Private Function SelectFolder() As String        With Application.FileDialog(msoFileDialogFolderPick ...

  8. 机器学习入门-随机森林温度预测的案例 1.datetime.datetime.datetime(将字符串转为为日期格式) 2.pd.get_dummies(将文本标签转换为one-hot编码) 3.rf.feature_importances_(研究样本特征的重要性) 4.fig.autofmt_xdate(rotation=60) 对标签进行翻转

    在这个案例中: 1. datetime.datetime.strptime(data, '%Y-%m-%d') # 由字符串格式转换为日期格式 2. pd.get_dummies(features)  ...

  9. MIME(Multipurpose Internet Mail Extensions-多用途互联网邮件扩展)

    MIME MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型.是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时 ...

  10. AJAX是什么?

    AJAX的全称是Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). ajax不是新的编程语言,而是一种使用现有标准的新方法.ajax是与服务器 ...