您的位置:首页 > 运维架构 > Apache

Apache负载均衡配置

2012-04-10 17:52 211 查看
使用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 可以监测负载均衡的情况

http://blog.csdn.net/paulluo0739/archive/2008/04/09/2269052.aspx

http://koda.javaeye.com/blog/465061

http://blog.51yip.com/apachenginx/873.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: