この設定は、Apache mod_proxy_ajp プラグインを使用して、AJP プロトコルでの JBoss クラスターのロードバランスを取ります。このモジュールは、mod_proxy のサービスを必要とします。 したがって、AJP プロトコルを処理できるようにするために、mod_proxy と mod_proxy_ajp がサーバーに存在していなければなりません。
このモジュールは、AJP プロトコルを使用してバックエンドアプリケーションサーバーへの逆プロキシのために使われます。使い方は HTTP 逆プロキシと同じですが、これは ajp://プレフィクスを使用します。
APACHE_HOME/conf/httpd.conf ファイル内で次のモジュール設定をコメント解除します。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
次の設定を APACHE_HOME/conf/httpd.conf ファイルに追加します。
<VirtualHost *:80>
ServerName lb.xyz.com
ServerAlias lb.xyz.com
ProxyRequests Off
ProxyPreserveHost On
<Proxy balancer://cluster>
BalancerMember ajp://abc.com:8009 route=node1
BalancerMember ajp://xyz.com:8009 route=node2
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid
</VirtualHost>
通常、ProxyPassReverse ディレクティブは不要です。AJP リクエストはプロキシに与えられたオリジナルのホストヘッダーを含み、アプリケーションサーバーはこのホストに相対的な自己参照ヘッダーを生成すると見なせるので、書き換えは不要です。
サーバー側の設定 :
クラスターの各ノードごとに、[appserver root]/server/<profile_name>/deploy/jbossweb.sar にある server.xml ファイルを開き編集します。
server.xml ファイルで Engine name 要素を検索し、jvmRoute 属性を追加します。例えば、node1 というノードでは、エレメントを次のように編集します : <Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">。
編集した server.xml ファイルを保存します。
注意: 各クラスターごとに、jvmRoute のノード値は一意でなければならず、それぞれの JBoss ーに接続するワーカーのルートの値と一致していなければなりません (httpd.conf での MalancerMember 設定を参照)。
|
|
|