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>
Run Code Online (Sandbox Code Playgroud)
当我启动apache服务时,就说了
AH00526: Syntax error on line 184 of /Users/aptos/Documents/workspace/Webserver/conf/httpd.conf:
BalancerMember Can't find 'byrequests' lb method
Run Code Online (Sandbox Code Playgroud)
有人能告诉我我做错了吗?非常感谢你.
man*_*nta 35
在我的情况下,我得到错误,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)
您需要加载mod_proxy_balancer.在支持它的发行版上,最好的方法是使用a2enmod:
sudo a2enmod proxy_balancer
Run Code Online (Sandbox Code Playgroud)
它为您完成所有工作.