,,Apache负载均衡设置方法 mod_proxy使用介绍

,,Apache负载均衡设置方法 mod_proxy使用介绍

本文主要讲解Apache负载均衡功能的代码配置。我们先通过几个模块的功能进行配置,然后再来探秘。所以具体看文章吧。

一般来说,负载均衡就是将客户端的请求分发到后端真正的服务器上,达到负载均衡的目的。另一种方法是使用两台服务器,一台作为主服务器,另一台作为热备用服务器。所有请求都分发到主服务器,当主服务器崩溃时,立即切换到备份服务器,改善整个系统。但是当我第一次看到这个标题的时候,我也很惊讶Apache还能做负载均衡。太厉害了。经过一番调查,发现是可以的,而且功能一点都不差。这都要感谢mod_proxy模块。这是一个强大的阿帕奇。

废话少说。下面是如何设置负载平衡。

一般来说,负载均衡就是将客户端的请求分发到后端真正的服务器上,达到负载均衡的目的。另一种方法是使用两台服务器,一台作为主服务器,另一台作为热备用服务器。所有请求都分发到主服务器,当主服务器崩溃时,立即切换到备份服务器,提高系统的整体可靠性。

1. 负载均衡的设置 1).Apache的基本配置可以应付以上两个需求。先讨论一下如何做负载均衡。假设apache服务器域名是www.a.com,首先,您需要启用Apache: Httpd.conf代码的几个模块。复制代码如下:load module proxy _ module modules/Mod _ proxy . so load module proxy _ balancer _ modules/Mod _ proxy _ balancer . so load module proxy _ module modules/mod_proxy_http . so Mod _ proxy提供代理服务器功能,Mod _ proxy _ balancer提供负载均衡功能,Mod _ proxy _ HTTP使代理服务器支持HTTP协议。如果将mod_proxy_http改为其他协议模块(比如mod_proxy_ftp),或许可以支持其他协议的负载均衡。有兴趣的朋友可以自己试试。

然后添加以下配置:Httpd.conf代码复制代码如下:代理请求off代理平衡器://我的集群平衡器成员http://node-a.myserver.com:8080平衡器成员http://node-b.myserver.com:8080/Proxy代理Pass/平衡器://MyCluster/#警告:以下配置仅供调试使用,切勿添加到生产环境中!location/balancer-manager set handler balancer-manager order deny,allow deny from all allow from localhost/location注意:node-a.myserver.com和node-b.myserver.com是其他两个服务器的域名,而不是当前服务器的域名。

从上面的ProxyRequests Off可以看出,负载均衡器实际上是一个反向代理,只不过它的代理转发地址不是特定的服务器,而是一个balancer://protocol:

代理/平衡器://MyCluster协议地址可以随意定义。然后,在代理网段中设置平衡器协议的内容。BalancerMember指令可以在负载平衡组中添加真实的服务器地址。

下面一段的Location /balancer-manager是用来监控负载均衡的工作的,可以在调试的时候添加(禁止在生产环境中使用!),然后访问http://localhost/balancer-manager/,了解负载均衡是如何工作的。

好了,更改后重启服务器,访问你的Apache所在服务器的地址(www.a.com),就可以看到负载均衡的效果了。

错误:访问网页以提示内部服务器错误,检查错误。日志文件错误。日志代码,并复制如下代码:[warn]代理:没有对URL/admin/login_form有效的协议处理程序。如果您使用的是DSO版本的mod_proxy,请确保代理子模块包含在使用LoadModule的配置中。

原因是配置:# proxy pass/balancer://my cluster可能缺少一个/

2).负载比例分配打开balancer-manager的界面,可以看到请求被平均分配。

不想平均分配怎么办?向BalancerMember添加loadfactor参数,取值范围为1-100。例如,如果有三台服务器,负载分配比为7:2:1。就这样设置吧:Httpd.conf代码复制代码如下:代理请求off代理平衡器://my cluster balancer member http://node-a.myserver.com:8080 load factor=7平衡器member http://node-b.myserver.com:8080 load factor=2平衡器member http://no de-c.myserver.com:8080 load factor=1/Proxy Proxy pass/balancer://my cluster

3)负载分配算法

默认情况下,负载均衡会尽量使每台服务器接受的请求数量达到预设的比例。如果要更改算法,可以使用lbmethod属性。例如:Httpd.conf代码复制代码如下:代理请求关闭代理平衡器://my cluster balancer member http://node-a.myserver.com:8080 load factor=7平衡器member http://node-b.myserver.com:8080 load factor=2平衡器member http://no de-c.myserver.com:8080 load factor=1/Proxy pass/balancer://my cluster Proxy set lb method=bytraffic

lbmethod的可能值为:

Lbmethod=byrequests根据请求数平衡(默认)lb method=bytraffic balanced lb method=by busy根据繁忙程度平衡(总是分配给活动请求最少的服务器)

各种算法的原理见Apache的文档。

2. 热备份(Hot Standby)热备份的实现非常简单。只需添加status=H属性,将一台服务器指定为备份服务器:

Httpd.conf代码复制代码如下:Proxy requests off Proxy balancer://my cluster balancer member http://node-a.myserver.com:8080 balancer member http://node-b.myserver.com:8080 status=H/Proxy Proxy pass/balancer://my cluster从balancer-manager接口可以看出,请求总是流向node-a,一旦node-a挂起,Apache就会检测到错误,将请求转移到Node-B,Apache每隔几分钟就会检查Node-A的状态,如果节点a恢复,它将继续使用节点a。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • apache虚拟主机配置文件,apache配置虚拟主机的作用是什么
  • apache虚拟主机配置文件,apache配置虚拟主机的作用是什么,apache虚拟主机配置的三种方式(小结)
  • apache常用虚拟主机配置方法解析错误,apache常用虚拟主机配置方法解析网页
  • apache常用虚拟主机配置方法解析错误,apache常用虚拟主机配置方法解析网页,Apache常用虚拟主机配置方法解析
  • apache安装配置,apache服务器配置与使用工作笔记
  • apache安装配置,apache服务器配置与使用工作笔记,Apache 配置详解(最好的APACHE配置教程)
  • apache安装教程详解,apache需要安装吗
  • apache安装教程详解,apache需要安装吗,Apache安装配置避坑指南
  • apache任意文件上传,apache服务器上传文件
  • ,,让apache也支持asp环境的方法
  • ,,浅析Apache中RewriteCond规则参数的详细介绍
  • ,,Windows下apache ant安装、环境变量配置教程
  • ,,apache开启.htaccess及.htaccess的使用方法
  • ,,Apache RewriteBase 指令使用介绍
  • apache服务器的主要功能,apache 文件服务器
  • 留言与评论(共有 条评论)
       
    验证码: