当前位置: 首页 > news >正文

win 下 apache 实现负载均衡

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。

转载于:https://www.cnblogs.com/jkko123/p/6294618.html

相关文章:

  • PHP下ajax跨域的解决方案之jsonp
  • nginx反向代理架构与安装配置(一)
  • 几个有意思的linux命令
  • 2017年计划学习点 Kotlin
  • 很好的求幂的题目
  • tensorflow linear_regression 实例解析
  • 微信公众号支付接口网页开发示例
  • kisso
  • C#多线程学习一
  • 交换机-网络聚合存在的问题
  • python学习之MySQL数据库详解
  • win10的一些设置
  • 计算机操作系统
  • beego orm 模型定义
  • Linux下 ln 命令详解
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • django开发-定时任务的使用
  • export和import的用法总结
  • js
  • Nacos系列:Nacos的Java SDK使用
  • Puppeteer:浏览器控制器
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 聊聊flink的TableFactory
  • 如何在GitHub上创建个人博客
  • 手写一个CommonJS打包工具(一)
  • 我与Jetbrains的这些年
  • 学习Vue.js的五个小例子
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​第20课 在Android Native开发中加入新的C++类
  • "无招胜有招"nbsp;史上最全的互…
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #微信小程序(布局、渲染层基础知识)
  • (42)STM32——LCD显示屏实验笔记
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .md即markdown文件的基本常用编写语法
  • .NET Remoting学习笔记(三)信道
  • .NET的数据绑定
  • .NET中使用Protobuffer 实现序列化和反序列化
  • .Net转前端开发-启航篇,如何定制博客园主题
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [android] 练习PopupWindow实现对话框
  • [bzoj4240] 有趣的家庭菜园
  • [C/C++随笔] char与unsigned char区别
  • [c]扫雷
  • [CareerCup][Google Interview] 实现一个具有get_min的Queue