Apache 2.4 proxy_balancer e lbmethod_byrequest


13

Sto cercando di costruire il mio server Apache con moduli statici. Ma riscontri problemi con il modulo proxy_balancer. Ottengo un errore:

[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 guardo i moduli caricati usando bin/apachectl -Mnon ci sono moduli mod_lbmethod lì.

Ho tryied di caricare il modulo con l'aggiunta di queste righe per lo script di configurazione --enable-lbmethod-byrequeste --with-lbmethod=byrequest, ma non mostra nella lista moduli né nella cartella inclusa.

Qualcuno ha riscontrato questo problema prima e ottenuto una soluzione?

Risposte:


16

Se si utilizza Apache 2.4 o versioni successive, è necessario abilitare anche mod_lbmethod_byrequests, ma il seguente mod_proxy_balancer è stato sufficiente. Ho avuto anche questo problema. Il problema è mod_lbmethod_byrequests diviso da mod_proxy_balancer in 2.3 .


14

Questo può essere risolto abilitando il modulo mod_lbmethod_byrequests, in questo modo:

$ sudo a2enmod lbmethod_byrequests

Questo non era richiesto in Apache 2.2.22, ma è richiesto da Apache 2.4


2

Quindi ho riscontrato il problema .. Era un semplice errore di battitura, mancava la forma plurale "s" ..

Ho caricato il modulo usando --enable-lbmethod-byrequestse ha funzionato


1

In httpd.conf vedrai le seguenti righe:

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

Annullare il commento della riga in base all'algoritmo di bilanciamento del carico che si intende utilizzare. Nel tuo caso annulla-commento la seguente riga:

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

dopo il commento:

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

Questo dovrebbe funzionare bene.


0

Sei sicuro che questo sia un problema che dovresti preoccuparti di risolvere? Perché stai seguendo questa strada?

Apache è un ottimo server Web e c'è spazio per mod_proxy nel proxy di alcuni URL in semplici ambienti a server singolo dove non c'è cache di front-end e livelli di bilanciamento del carico. Se vuoi bilanciare il carico, però, stai sicuramente meglio mettendolo in un livello di fronte ad Apache piuttosto che usare un modulo apache. Ad esempio usare la vernice o il calamaro.

Se continui ad andare avanti, dovrai fornire maggiori informazioni esattamente su cosa stai facendo nella tua build e configurazione, e dove e quando appare l'errore.

Presumo che tu abbia la direttiva LoadModule appropriata nella tua configurazione di Apache?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.