Apache 2.4 proxy_balancer e lbmethod_byrequest

12

Estou tentando construir meu servidor Apache com módulos estáticos. Mas tenha alguns problemas com o módulo proxy_balancer. Eu recebo um erro:

[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

Quando eu olho para os módulos carregados usando bin/apachectl -M não há módulo mod_lbmethod lá.

Eu tentei carregar o módulo adicionando essas linhas ao script de configuração --enable-lbmethod-byrequest e --with-lbmethod=byrequest , mas ele não aparece na lista de módulos nem na pasta incluída.

Alguém experimentou esse problema antes e conseguiu uma solução para ele?

    
por Thomas K 26.08.2014 / 15:54

5 respostas

2

Então eu encontrei o problema .. Foi um erro de digitação simples, faltando a forma plural "s" ..

Carregou o módulo usando --enable-lbmethod-byrequests e funcionou

    
por 17.09.2014 / 12:13
13

Se você estiver usando o Apache 2.4 ou acima, precisa ativar o mod_lbmethod_byrequests também. Mas abaixo de 2.4 mod_proxy_balancer foi o suficiente. Eu também tive esse problema. O problema é mod_lbmethod_byrequests separado de mod_proxy_balancer em 2.3 .

    
por 15.11.2015 / 15:59
10

Isso pode ser resolvido ativando o módulo mod_lbmethod_byrequests , assim:

$ sudo a2enmod lbmethod_byrequests

Isso não era necessário no Apache 2.2.22, mas é requerido pelo Apache 2.4

    
por 10.02.2016 / 16:02
0

Tem certeza de que este é um problema que você deve se preocupar em resolver? Por que você está seguindo esse caminho?

O Apache é um ótimo servidor web, e há um lugar para o mod_proxy no proxy de algumas URLs em ambientes simples de servidor único, onde não há cache de front-end e camadas de balanceamento de carga. Se você quiser balanceamento de carga, é quase melhor colocá-lo em uma camada na frente do Apache em vez de usar um módulo do Apache. Por exemplo, use verniz ou lula.

Se você continuar, precisará fornecer mais informações sobre exatamente o que está fazendo em sua compilação e configuração, e onde e quando o erro será exibido.

Eu presumo que você tenha a diretiva LoadModule apropriada na configuração do seu apache?

    
por 01.09.2014 / 13:22
0

No httpd.conf você verá as seguintes linhas:

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

Descomente a linha dependendo do algoritmo de balanceamento de carga que você vai usar. No seu caso, não comentar a seguinte linha:

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

depois de descomentar:

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

Isso deve funcionar bem.

    
por 20.06.2018 / 08:55