Apache 2.4 proxy_balancer y lbmethod_byrequest


13

Estoy tratando de construir mi servidor Apache con módulos estáticos. Pero encuentre algunos problemas con el módulo proxy_balancer. Me sale un error:

[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

Cuando miro los módulos cargados usando bin/apachectl -Mno hay ningún módulo mod_lbmethod allí.

Intenté cargar el módulo agregando estas líneas a la secuencia de comandos de configuración --enable-lbmethod-byrequesty --with-lbmethod=byrequestno aparece en la lista de módulos ni en la carpeta incluida.

¿Alguien experimentó este problema antes y obtuvo una solución?

Respuestas:


16

Si está utilizando Apache 2.4 o superior, debe habilitar mod_lbmethod_byrequests también. Pero debajo de 2.4 mod_proxy_balancer fue suficiente. También tuve este problema. El problema es que mod_lbmethod_byrequests se separó de mod_proxy_balancer en 2.3 .


14

Esto se puede resolver habilitando el módulo mod_lbmethod_byrequests, así:

$ sudo a2enmod lbmethod_byrequests

Esto no fue requerido en Apache 2.2.22, pero es requerido por Apache 2.4


2

Entonces encontré el problema ... Era un error tipográfico simple, faltaba la forma plural "s" ...

Cargué el módulo usando --enable-lbmethod-byrequests y funcionó


1

En httpd.conf verá las siguientes líneas:

#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"

Elimine los comentarios de la línea según el algoritmo de equilibrio de carga que vaya a utilizar. En su caso, descomente la siguiente línea:

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

después de descomentar:

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

Esto debería funcionar bien.


0

¿Estás seguro de que este es un problema que deberías molestarte en resolver? ¿Por qué vas por este camino?

Apache es un gran servidor web, y hay un lugar para mod_proxy en el proxy de algunas URL en entornos simples de servidor único donde no hay caché front-end y capa (s) de equilibrio de carga. Sin embargo, si desea equilibrar la carga, es casi seguro que sea mejor colocarlo en una capa frente a Apache en lugar de usar un módulo de apache. Por ejemplo, usar barniz o calamares.

Si continúa, deberá proporcionar más información sobre exactamente lo que está haciendo en su compilación y configuración, y dónde y cuándo aparece el error.

¿Supongo que tiene la directiva LoadModule apropiada en su configuración de apache?

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.