1 つのマシン上で複数の Tomcat インスタンスを実行させるにはどうしたらよいですか? (February 12, 2004)

もしホスト名が複数あり、それぞれに対するリクエストを適切に処理させたいのであれば virtual host として解決するのがよいでしょう。この場合、実行しているインスタンスは 1 つです。
具体的には $CATALINA_BASE/conf/server.xml 内に複数の Host element を記述することで指定します。

...
<Engine  name="Catalina" defaultHost="localhost" debug="0">
	<Host name="localhost" debug="0"

appBase="webapps"
unpackWARs="true" autoDeploy="true">
...
</Host>
<Host name="localhost2" debug="0"

appBase="webapps2"
unpackWARs="true" autoDeploy="true">
...
</Host>
</Engine>

...

また、httpd として apache から呼ばれている場合はさらに jk のドキュメントが参考になるでしょう。
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk2/vhosthowto.html

もし何らかの理由で異なる JavaVM で動作させたい場合には $CATALINA_BASE を分けるのがよいでしょう。
Tomcat を 1 つだけ動作させている場合、通常 $CATALINA_BASE は $CATALINA_HOME と同一のディレクトリです。
複数のインスタンスを実行させる場合にはインスタンスごとにディレクトリを決めます。このディレクトリが $CATALINA_BASE になります。さらにここに必要なディレクトリを作成します。具体的には以下のような構成にします。

$CATALINA_BASE
	/conf
	/logs
	/shared
	/webapps
	/work

$CATALINA_BASE/conf の下に server.xml をはじめとして設定ファイルをいれます。
$CATALINA_BASE/logs にログが出力されます。
$CATALINA_BASE/shared に web application 間で共有したいライブラリやクラスファイルを入れます。
$CATALINA_BASE/webapps に web application を入れます。
$CATALINA_BASE/work が Tomcat の作業ディレクトリになります。

なお、 $CATALINA_BASE/conf/server.xml の記述によっては一部これ以外の構成も可能です。この場合は単一インスタンス時の設定と変わりません。

トラックバック
コメント
コメントを投稿









この情報を登録しますか?