Apache负载均衡配置

使用mod_proxy 配置Apache负载均衡

1.安装apache

./configure --prefix=/usr/local/apache2 –enable-so

make && make install

2.添加相关模块

cd modules/proxy/

/usr/local/apache2/bin/apxs -i -a -c mod_proxy.c proxy_util.c

/usr/local/apache2/bin/apxs -i -a -c mod_proxy_balancer.c

/usr/local/apache2/bin/apxs -i -a -c mod_proxy_http.c

mod_proxy提供代理服务器功能,mod_proxy_balancer提供负载均衡功能, mod_proxy_http让代理服务器能支持HTTP协议

在/usr/local/apache2/conf/httpd.conf中会添加如下

# Dynamic Shared Object (DSO) Support #

# To be able to use the functionality of a module which was built as a DSO you

# have to place corresponding `LoadModule' lines at this location so the

# directives contained in it are actually available _before_ they are used.

# Statically compiled modules (those listed by `httpd -l') do not need # to be loaded here. #

# Example: # LoadModule foo_module modules/mod_foo.so

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

3.配置负载均衡的策略

一轮询均衡策略的配置

ProxyRequests Off ProxyPass /test balancer://mycluster/

ProxyPassReverse /test balancer://mycluster/

<Proxy balancer://mycluster>      

BalancerMember http://192.168.0.51/haitianoa/     

BalancerMember http://192.168.1.51/haitianoa/

</Proxy>

ProxyPass /test balancer://mycluster/ ,其中"ProxyPass"是配置虚拟服务器的命令, ”/“ 代表发送WEB请求的URL前缀,”balancer://mycluster/“ 表示要配置负载均衡 ,"mycluster"代表负载均衡名,BalancerMember 及其后面的URL表示要配置的后台服 务器,其中URL为后台服务器请求时的URL,在这里要用/test而不是/,因为在这里用/会和documentroot冲突,因为监听的都是80端口 简明说法就是后台两台服务器轮流接收请求

二按权重分配均衡策略的配置

ProxyRequests Off

ProxyPass /test balancer://mycluster/ 

ProxyPassReverse /test balancer://mycluster/

<Proxy balancer://mycluster>      

BalancerMember http://192.168.0.51/haitianoa/ loadfactor=4     

BalancerMember http://192.168.1.51/haitianoa/ loadfactor=1

</Proxy>

参数”loadfactor”表示后台服务器负载到由Apache发送请求的权值,该值默认为1,可 以将该值设置为1到100之间的任何值。 简明说法就是如果有5次请求,有四次发个192.168.0.51,有一次发给192.168.1.51

三权重请求响应负载均衡策略的配置

ProxyRequests Off

ProxyPass /test balancer://mycluster/ lbmethod=bytraffic

ProxyPassReverse /test balancer://mycluster/

<Proxy balancer://mycluster>      

BalancerMember http://192.168.0.51/haitianoa/ loadfactor=4     

BalancerMember http://192.168.1.51/haitianoa/ loadfactor=1

</Proxy>

参 数“lbmethod=bytraffic”表示后台服务器负载请求和响应的字节数,处理字节数的 多少是以权值的方式来表示的。 “loadfactor”表示后台服务器处理负载请求和响应字 节数的权值,该值默认为1,可以将该值设置在1到100的任何值。 简明说就是如果有5M的流量请求,有4M发个192.168.0.51,有1M发给192.168.1.51 lbmethod可能的取值有: lbmethod=byrequests 按照请求次数均衡(默认) lbmethod=bytraffic 按照流量均衡 lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)

访问http://192.168.15.124/test 会按照策略访问到http://192.168.0.51/haitianoa/ 或者http://192.168.1.51/haitianoa/

<Location /balancer-manager>

SetHandler balancer-manager

Order Deny,Allow

Allow from all

</Location>

添加以上内容访问http://192.168.15.124/test/balancer-manager 可以监测负载均衡的情况

posted @ 2013-12-18 10:39  会飞的鱼001  阅读(587)  评论(0编辑  收藏  举报