Apache 2.4 proxy_balancer e lbmethod_byrequest


13

Estou tentando construir meu servidor Apache com módulos estáticos. Mas encontre 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 -Mnão há módulo mod_lbmethod lá.

Eu tryied para carregar o módulo adicionando estas linhas para o script de configuração --enable-lbmethod-byrequeste --with-lbmethod=byrequestmas não aparece na lista de módulos nem na pasta incluído.

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

Respostas:


16

Se você estiver usando o Apache 2.4 ou superior, também é necessário ativar o mod_lbmethod_byrequests. Mas abaixo do mod_proxy_balancer 2.4 foi suficiente. Eu também tive esse problema. O problema é mod_lbmethod_byrequests separado do mod_proxy_balancer na versão 2.3 .


14

Isso pode ser resolvido ativando o módulo mod_lbmethod_byrequests, da seguinte maneira:

$ sudo a2enmod lbmethod_byrequests

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


2

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

Carregou o módulo usando --enable-lbmethod-byrequestse funcionou


1

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"

Remova o comentário da linha, dependendo do algo do balanceamento de carga que você usará. No seu caso, desmarque 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.


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 existe um lugar para mod_proxy no proxy de algumas URLs em ambientes simples de servidor único, onde não há camadas de cache de front-end e balanceamento de carga. Se você deseja balanceamento de carga, certamente é melhor colocá-lo em uma camada na frente do Apache, em vez de usar um módulo apache. Por exemplo, use verniz ou lula.

Se você continuar, precisará fornecer mais informações sobre exatamente o que está fazendo na sua construção e configuração e onde e quando o erro aparecer.

Presumo que você tenha a diretiva LoadModule apropriada na sua configuração do apache?

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.