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

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

虚拟主机的配置如下:

  1. <VirtualHost _default_:80>
  2. DocumentRoot "D:/wwwroot"
  3. ServerName localhost
  4. ErrorLog "logs/error.log"
  5. CustomLog "logs/access.log" common
  6. </VirtualHost>
  7.  
  8. <VirtualHost *:80>
  9. DocumentRoot D:/wwwroot/site1
  10. ServerName www.site1.com
  11. </VirtualHost>
  12.  
  13. <VirtualHost *:80>
  14. DocumentRoot D:/wwwroot/site2
  15. ServerName www.site2.com
  16. </VirtualHost>
配置好后,我在浏览器中访问
  1. http://localhost/site/

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

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

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

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

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

这样就可以配置不同的权重了。
 
(3)、负载分配算法
负载均衡会尽量让各个服务器接受的请求次数满足预设的比例。如果要改变算法,可以使用 lbmethod 属性。
lbmethod可能的取值有: 
lbmethod=byrequests 按照请求次数均衡(默认) 
lbmethod=bytraffic 按照流量均衡 
lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器) 
  1. #告诉apache使用反向代理
  2. ProxyRequests Off
  3. #配置工作在集群中的节点列表
  4. <Proxy balancer://mycluster>
  5. BalancerMember http://www.site1.com loadfactor=4
  6. BalancerMember http://www.site2.com loadfactor=1
  7. </Proxy>
  8. # ProxyPass是配置虚拟服务器的命令
  9. # /表示发送web请求的URL前缀
  10. # balancer表示要配置负载均衡
  11. # mycluster表示负载均衡名
  12. # 必须以/结尾
  13. ProxyPass /site balancer://mycluster/
  14. # 按照流量均衡
  15. ProxySet lbmethod=bytraffic
(4)、热备份
  1. ProxyRequests Off
  2. <Proxy balancer://mycluster>
  3. BalancerMember http://www.site1.com
  4. BalancerMember http://www.site2.com status=+H
  5. </Proxy>
  6. 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. tf.matmul函数和tf.multiply函数

    tf.matmul(a,b,transpose_a=False,transpose_b=False, adjoint_a=False, adjoint_b=False, a_is_sparse=Fal ...

  2. CentOs - 使用ssh key远程登录

    环境: 服务器端CentOs,本地OS X 服务器端: 1. 安装openssl使实现ssl协议 2. 将本地的pub key加入信任列表 本地: 1. 生成pub key 2. 配置ssh别名使登陆 ...

  3. spring security 学习文档

    web service Prepared by:   Sea                                                                       ...

  4. Eclipse 中yml自动提示功能相关设置

    转自:https://blog.csdn.net/lililuni/article/details/82849376

  5. 使用MATPLOTLIB 制图(散点图,热力图)

    import numpy as np import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv('D:\\myfil ...

  6. 下载bilibili视频

    http://www.urlgot.com/zh_CN/

  7. 切换当前目录 pushd 和 popd

    切换当前目录@echo offc: & cd\ & md mp3       #在 C:\ 建立 mp3 文件夹md d:\mp4               #在 D:\ 建立 mp ...

  8. 可视化库-seaborn-单变量绘图(第五天)

    1. sns.distplot 画直方图 import numpy as np import pandas as pd from scipy import stats, integrate impor ...

  9. bat 笔记 二

    @echo off echo 等待 ping -n 5 127.1 >null cls echo 我爱嘉怡 pause >null 第一条利用echo关键字关闭路径面板 第二条利用echo ...

  10. jdk免安装对应配置

    通常我们不用配置jdk,tomcat和eclipse会选取系统的环境变量获取jdk,但有时一个系统中部署不同的项目,各版本又不一样,不能完全兼容. 因此就需要采用自己的jdk.将jdk安装后,将安装后 ...