静的モジュールを使用してApacheサーバーを構築しようとしています。しかし、proxy_balancerモジュールでいくつかの問題が発生します。エラーが発生します:
[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
bin/apachectl -M
を使用して読み込まれたモジュールを見ると、mod_lbmethodモジュールがありません。
これらの行を構成スクリプト--enable-lbmethod-byrequest
と--with-lbmethod=byrequest
に追加してモジュールをロードしようとしましたが、モジュールリストにも含まれているフォルダーにも表示されません。
誰かが以前にこの問題を経験し、それに対する解決策を得ましたか?
だから私は問題を見つけました。それは複数形「s」が欠けている単純なタイプミスでした。
--enable-lbmethod-byrequests
を使用してモジュールをロードし、機能しました
Apache 2.4以降を使用している場合は、mod_lbmethod_byrequestsも有効にする必要があります。ただし、2.4 mod_proxy_balancerで十分でした。私もこの問題を抱えていました。問題は、mod_lbmethod_byrequestsがmod_proxy_balancerから分割される 2. です。
これは、モジュールを有効にすることで解決できますmod_lbmethod_byrequests
、 そのようです:
$ Sudo a2enmod lbmethod_byrequests
これはApache 2.2.22では必要ありませんでしたが、Apache 2.4では必須です。
Httpd.confに次の行が表示されます。
#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"
使用する負荷分散アルゴリズムに応じて、行のコメントを外します。あなたの場合、次の行のコメントを外してください:
#LoadModule lbmethod_byrequests_module "${PRODUCT_HOME}/modules/mod_lbmethod_byrequests.so"
コメントを外した後:
LoadModule lbmethod_byrequests_module "${PRODUCT_HOME}/modules/mod_lbmethod_byrequests.so"
これは正常に動作するはずです。
これはあなたが解決しなければならない問題だと確信していますか?なぜあなたはこの道を行くのですか?
Apacheは優れたWebサーバーであり、フロントエンドのキャッシングとロードバランシングレイヤーがない単純な単一サーバー環境で、いくつかのURLをプロキシするmod_proxyの場所があります。ただし、負荷分散が必要な場合は、Apacheモジュールを使用するよりも、Apacheの前のレイヤーに配置する方が確実です。たとえば、ワニスまたはイカを使用します。
続行する場合は、ビルドと構成で正確に何をしているか、どこでいつエラーが発生するかについての詳細情報を提供する必要があります。
Apache構成に適切なLoadModuleディレクティブがあると思いますか?