Apache负载平衡

时间:2012-10-26 21:41:39

标签: apache

4,我尝试在apache Web服务器中配置负载均衡器但未成功。
在我的httpd.conf中

LoadModule proxy_module modules/mod_proxy.so

<VirtualHost mysuperwebapp.com:80>
    ServerName mysuperwebapp.com
    <Location /balancer-manager>
        SetHandler balancer-manager
        Order Deny,Allow
        Deny from all
        Allow from .mysuperwebapp.com
    </Location>
    <Proxy balancer://mycluster>
        BalancerMember http://localhost:9999
        BalancerMember http://localhost:9998 status=+H
    </Proxy>
    <Proxy *>
        Order Allow,Deny
        Allow From All
    </Proxy>
    ProxyPreserveHost On
    ProxyPass /balancer-manager !
    ProxyPass / balancer://mycluster/
    ProxyPassReverse / http://localhost:9999/
    ProxyPassReverse / http://localhost:9998/
</VirtualHost>

当我启动apache服务时,它说

AH00526: Syntax error on line 184 of /Users/aptos/Documents/workspace/Webserver/conf/httpd.conf:
BalancerMember Can't find 'byrequests' lb method

有人能告诉我我做错了吗? 非常感谢你。

5 个答案:

答案 0 :(得分:34)

就我而言,我使用ProxyPass Can't find 'byrequests' lb method模块

时收到错误 proxy_balancer_module

错误是由于我错过了取消注释httpd.conf

中所需的模块

LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so

LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

在httpd.conf文件中取消注释默认注释的上述模块条目解决了我的问题。

(使用Apache 2.4.3)

答案 1 :(得分:8)

您需要加载mod_proxy_balancer。在支持它的发行版上,最好的方法是使用a2enmod:

sudo a2enmod proxy_balancer

它为你完成所有工作。

答案 2 :(得分:4)

在Apache 2.2上,您将需要这些库:

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

答案 3 :(得分:1)

您需要在/etc/httpd/conf/httpd.conf文件中启用以下模块。

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

答案 4 :(得分:0)

答案是包括

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

或IBM WebSPhere

LoadModule proxy_balancer_module modules/WebSphereCE/mod_proxy_balancer.so