Apache 2.4 proxy_balancer dan lbmethod_byrequest

13

Saya mencoba membangun server Apache saya dengan modul statis. Tetapi mengalami beberapa masalah dengan modul proxy_balancer. Saya mendapatkan kesalahan:

[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

Ketika saya melihat modul yang dimuat menggunakan bin/apachectl -Mtidak ada modul mod_lbmethod di sana.

Saya sudah mencoba memuat modul dengan menambahkan baris-baris ini ke skrip konfigurasi --enable-lbmethod-byrequestdan --with-lbmethod=byrequesttetapi tidak muncul dalam daftar modul atau di folder yang disertakan.

Seseorang pernah mengalami masalah ini sebelumnya dan mendapat solusinya?

Thomas K
sumber

Jawaban:

16

Jika Anda menggunakan Apache 2.4 atau di atasnya perlu mengaktifkan mod_lbmethod_byrequests juga. Tetapi di bawah 2.4 mod_proxy_balancer sudah cukup. Saya juga punya masalah ini. Masalahnya adalah mod_lbmethod_byrequests terpisah dari mod_proxy_balancer di 2.3 .

GPrathap
sumber
14

Ini dapat diatasi dengan mengaktifkan modul mod_lbmethod_byrequests, seperti:

$ sudo a2enmod lbmethod_byrequests

Ini tidak diperlukan di Apache 2.2.22, tetapi diharuskan oleh Apache 2.4

Taman Brad
sumber
2

Jadi saya menemukan masalah .. Itu kesalahan ketik sederhana, hilang bentuk jamak "s" ..

Memuat modul menggunakan --enable-lbmethod-byrequestsdan berhasil

Thomas K
sumber
1

Di httpd.conf Anda akan melihat baris berikut:

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

Batalkan komentar pada baris tergantung pada algo load balancing yang akan Anda gunakan. Dalam kasus Anda, hapus komentar pada baris berikut:

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

setelah komentar:

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

Ini seharusnya bekerja dengan baik.

Suman Adhikary
sumber
0

Apakah Anda yakin ini masalah yang harus Anda pecahkan? Mengapa Anda menyusuri jalan ini?

Apache adalah server web yang hebat, dan ada tempat untuk mod_proxy dalam mem-proksi beberapa URL dalam lingkungan server tunggal yang sederhana di mana tidak ada lapisan ujung depan caching dan load balancing. Jika Anda ingin load balancing, Anda hampir pasti lebih baik meletakkannya di lapisan di depan Apache daripada menggunakan modul apache. Misalnya menggunakan Varnish atau squid.

Jika Anda terus melanjutkan, Anda harus memberikan lebih banyak info tentang apa yang Anda lakukan di build dan konfigurasi Anda, dan di mana dan kapan kesalahan muncul.

Saya kira Anda memiliki arahan LoadModule yang sesuai dalam konfigurasi apache Anda?

mc0e
sumber