Apache 2.4 proxy_balancer та lbmethod_byrequest


13

Я намагаюся створити свій сервер Apache зі статичними модулями. Але у вас виникли проблеми з модулем proxy_balancer. Я отримую помилку:

[ssl:info] [pid 11863] AH01876: mod_ssl/2.4.10 compiled against Server: Apache/2.4.10, Library: OpenSSL/1.0.1i
[proxy:crit] [pid 11868] AH02432: Cannot find LB Method: byrequests
[proxy_balancer:emerg] [pid 11868] (22)Invalid argument: AH01183: Cannot share balancer
[:emerg] [pid 11868] AH00020: Configuration Failed, exiting

Коли я дивлюся на завантажені модулі за допомогою bin/apachectl -Mмодуля mod_lbmethod там немає.

Я tryied завантажити модуль, додавши наступні рядки в скрипт конфігурації --enable-lbmethod-byrequestі , --with-lbmethod=byrequestале він не відображається в списку модулів , ні в доданому папці.

Хтось раніше відчував цю проблему і отримав її вирішення?

Відповіді:


16

Якщо ви використовуєте Apache 2.4 або вище, потрібно також увімкнути mod_lbmethod_byrequests. Але нижче 2.4 mod_proxy_balancer було достатньо. У мене теж було це питання. Проблема полягає у відключенні mod_lbmethod_byrequests від mod_proxy_balancer в 2.3 .


14

Це можна вирішити, включивши модуль mod_lbmethod_byrequests, наприклад:

$ sudo a2enmod lbmethod_byrequests

Це не потрібно в Apache 2.2.22, але вимагає Apache 2.4


2

Тож я знайшов проблему. Це була проста помилка, пропущена форма множини "s" ..

Завантажив модуль за допомогою --enable-lbmethod-byrequestsі він працював


1

У httpd.conf ви побачите наступні рядки:

#LoadModule lbmethod_bybusyness_module "${PRODUCT_HOME}/modules/mod_lbmethod_bybusyness.so"
#LoadModule lbmethod_byrequests_module "${PRODUCT_HOME}/modules/mod_lbmethod_byrequests.so"
#LoadModule lbmethod_bytraffic_module "${PRODUCT_HOME}/modules/mod_lbmethod_bytraffic.so"

Відміняйте коментар від лінії, залежно від альго-балансуючого навантаження, яке ви збираєтеся використовувати. У вашому випадку відмініть коментар наступним рядком:

#LoadModule lbmethod_byrequests_module "${PRODUCT_HOME}/modules/mod_lbmethod_byrequests.so"

після коментаря:

LoadModule lbmethod_byrequests_module "${PRODUCT_HOME}/modules/mod_lbmethod_byrequests.so"

Це має добре працювати.


0

Ви впевнені, що це проблема, яку ви повинні турбувати? Чому ти йдеш цією стежкою?

Apache - це чудовий веб-сервер, і для mod_proxy є місце для наближення кількох URL-адрес у простих середовищах одного сервера, де немає кешування переднього кінця та шарів збалансування завантаження. Якщо ви хочете збалансувати навантаження, вам майже напевно краще розмістити його в шарі перед Apache, а не використовувати модуль apache. Наприклад, використовуйте лак або кальмари.

Якщо ви все-таки продовжуєте роботу, вам потрібно буде надати більше інформації про те, що саме ви робите в своїй збірці та конфігурації, а також де і коли з’являється помилка.

Я припускаю, що у вас у відповідній конфігурації apache є відповідна директива LoadModule?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.