サポート > クラスタリング設定ガイド > Apache Web Server をロードバランサとして用いる場合の設定
ここでは Apache Web Server 1.3.33 をロードバランサとして用いた場合の設定方法について説明します。
準備するソフトウェア
本説明では、次のソフトウェアを用います。
- Apache Web Server 1.3.33
- mod_jk 1.2.25
- Tomcat 5.5.23 (Wagby 同梱の Tomcat)
なお、OS は特に問いません。
httpd.conf の編集
JkMountディレクティブでTomcatにリクエストを転送するパスを指定します。 ここでは「wagby」という名前で定義した Web アプリケーションに対して「wagbylb」というエントリを用意するとします。(「lb」はロードバランサの意味です。)
... <VirtualHost XXX.XXX.XXX.XXX:XXX> ... JkMount /wagby/* wagbylb ... </VirtualHost> ...
workers.properties の編集
ここでは「wagby」という名前で定義した Web データベースを、それぞれ server1 (IPアドレスは 192.168.1.100) と server2 (IPアドレスは 192.168.1.200) という 2 台の PC で動作させる例を示します。
worker.list=wagbylb worker.wagbylb.type=lb worker.wagbylb.balance_workers=wagby1,wagby2 worker.wagbylb.sticky_session=1 worker.list=wagby1 worker.wagby1.port=8019 worker.wagby1.host=192.168.1.100 worker.wagby1.type=ajp13 worker.wagby1.route=server1 worker.list=wagby2 worker.wagby2.port=8019 worker.wagby2.host=192.168.1.200 worker.wagby2.type=ajp13 worker.wagby2.route=server2
Tomcat の設定
conf/server.xml
続いて Tomcat (Wagby に同梱されているもの)の conf/server.xml を編集します。
- server1
-
<!-- Define the top level container in our container hierarchy --> <!-- ここをコメントアウト <Engine name="Catalina" defaultHost="localhost"> --> <!-- 以下の行を追加 --> <Engine name="Catalina" defaultHost="localhost" debug="0" jvmRoute="server1"> - server2
-
<!-- Define the top level container in our container hierarchy --> <!-- ここをコメントアウト <Engine name="Catalina" defaultHost="localhost"> --> <!-- 以下の行を追加 --> <Engine name="Catalina" defaultHost="localhost" debug="0" jvmRoute="server2">
「jvmRoute」の設定は Tomcat 毎(マシン毎)に異なっていることに注意してください。
WEB-INF/classes/jfccluster.properties
xls-project/project_env.xls の cluster シートのマシン情報の自マシンという設定に「○」を指定していないマシン(上記例では、192.168.1.200のマシンである server2 とします)に配置したアプリケーションの設定ファイルを編集します。
ファイルは wagbyapp\webapps\$(APPNAME)\WEB-INF\classes\jfccluster.properties です。
変更前
cluster_list.machinename.1=server1 cluster_list.ipaddr.1=192.168.1.100 cluster_list.jmx_port.1=8999 cluster_list.rmi_port.1=58999 cluster_list.thismachine.1=true cluster_list.machinename.2=server2 cluster_list.ipaddr.2=192.168.1.200 cluster_list.jmx_port.2=8999 cluster_list.rmi_port.2=58999 cluster_list.thismachine.2=false
変更後
cluster_list.machinename.1=server1 cluster_list.ipaddr.1=192.168.1.100 cluster_list.jmx_port.1=8999 cluster_list.rmi_port.1=58999 cluster_list.thismachine.1=false cluster_list.machinename.2=server2 cluster_list.ipaddr.2=192.168.1.200 cluster_list.jmx_port.2=8999 cluster_list.rmi_port.2=58999 cluster_list.thismachine.2=true
