Баланс загрузки Apache
4, я попытался настроить балансировщик нагрузки на веб-сервере Apache, но безуспешно.
В моем 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
Может кто-нибудь показать мне, где я сделал неправильно?
Большое вам спасибо.
Ответы
Ответ 1
В моем случае я получил ошибку ProxyPass Can't find 'byrequests' lb method
, поскольку я использую proxy_balancer_module
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)
Ответ 2
Вам нужно загрузить mod_proxy_balancer. В дистрибутивах, которые поддерживают его, лучший способ - использовать a2enmod:
sudo a2enmod proxy_balancer
Он выполняет всю работу за вас.
Ответ 3
В Apache 2.2 вам понадобятся следующие библиотеки:
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
Ответ 4
Ответ должен включать
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
Или для IBM WebPhere
LoadModule proxy_balancer_module modules/WebSphereCE/mod_proxy_balancer.so
Ответ 5
Вам нужно включить следующие модули в файле /etc/httpd/conf/httpd.conf
.
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so