サポート > 運用ガイド > [応用] 1 つ Apache に複数の Wagby アプリケーションを登録する

1 つの Apache に複数の Wagby アプリケーション (Tomcat) を連携させることができます。ここではその手順を説明します。

運用環境の想定

ここでは、1 つの Apache に 2 つの Tomcat を接続した場合の例を示します。

1 つめの Tomcat
  • プロジェクト名(英語)は $(APPNAME1)
  • インストール先は /home/user/wagbyapp1
2 つめの Tomcat
  • プロジェクト名(英語)は $(APPNAME2)
  • インストール先は /home/user/wagbyapp2

Tomcat の設定

project_env.xlsの編集

Tomcat は起動すると 3 つのポート番号を使用します。これらのポート番号は互いに重複しないようにする必要があります。また他の Tomcat が使用するものと重複しないようにする必要があります。

Wagby定義ファイル「project_env.xls」の「tomcat」タブにて、次の情報がそれぞれ重複しないように設定してください。

  • HTTP ポート番号 (デフォルトは8080)
  • AJP1.3 ポート番号 (デフォルトは8009)
  • サーバポート番号 (デフォルトは8005)

設定後、Web データベースを再ビルドします。

server.xmlを直接、編集する

上で示した各値は、すべて wagbyapp\conf\server.xml に反映されます。そこで再ビルドを行うことなく、直接このファイルを編集し、Tomcat の再起動を行うこともできます。


<Server port="8005" shutdown="SHUTDOWN" debug="0">

               ↑★サーバポート番号★

〜省略〜

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"

   port="8080" enableLookups="true" redirectPort="8443"

        ↑★HTTP ポート番号★

   acceptCount="100" connectionTimeout="20000"

   useURIValidationHack="false" disableUploadTimeout="true" />

〜省略〜

<!-- Define a Coyote AJP/1.3 Connector on port 8009 -->

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"

   port="8009" enableLookups="true" redirectPort="8443"

        ↑★AJP1.3 ポート番号★

   connectionTimeout="0"

   useURIValidationHack="false"

   protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" />

Apache の設定

httpd.conf の編集

Alias と Directory を、用意する Tomcat の数だけ記述します。


Alias /$(APPNAME1)/ "/home/user/wagbyapp1/webapps/$(APPNAME1)/"



<Directory "/home/user/wagbyapp1/webapps/$(APPNAME1)">

   Options None

   AllowOverride None

   Order allow,deny

   Allow from all

</Directory>



<Directory "/home/user/wagbyapp1/webapps/$(APPNAME1)/WEB-INF">

   Options None

   AllowOverride None

   Order deny,allow

   Deny from all

</Directory>



Alias /$(APPNAME2)/ "/home/user/wagbyapp2/webapps/$(APPNAME2)/"



<Directory "/home/user/wagbyapp2/webapps/$(APPNAME2)">

   Options None

   AllowOverride None

   Order allow,deny

   Allow from all

</Directory>



<Directory "/home/user/wagbyapp2/webapps/$(APPNAME2)/WEB-INF">

   Options None

   AllowOverride None

   Order deny,allow

   Deny from all

</Directory>



Include /etc/httpd/conf/wagby_mod_jk.conf

wagby_mod_jk.conf の作成

JkMount を用意する Tomcat の数だけ記述します。


<IfModule mod_jk.c>

JkWorkersFile /etc/httpd/conf/workers.properties

JkLogFile /etc/httpd/logs/wagby_mod_jk.log

JkLogLevel info

JkMount /$(APPNAME1)/*.do wagby1

JkMount /$(APPNAME1)/*.jsp wagby1

JkMount /$(APPNAME2)/*.do wagby2

JkMount /$(APPNAME2)/*.jsp wagby2

</IfModule>

workers.properties の作成

worker.list に複数のエントリを記述します。それぞれの設定を Tomcat の数だけ記述します。


worker.list=wagby1,wagby2

worker.wagby1.port=8019

worker.wagby1.host=localhost

worker.wagby1.type=ajp13

worker.wagby2.port=8029

worker.wagby2.host=localhost

worker.wagby2.type=ajp13

接続の上限について

連携させる Tomcat の上限数はありません。 実際には、サーバのハードウェアの性能と利用負荷の状況をみながら、その上限数を決めることになります。