「Tomcat」複数インスタンスで起動する

Tomcat を複数のインスタンスで起動してみました。その時のメモです。

[ 環境情報 ]
CentOS 6.2
Apache Tomcat 7.0.52

ドキュメント的には以下の「Advanced Configuration - Multiple Tomcat Instances」の箇所になります。

・Running The Apache Tomcat 7.0 Servlet/JSP Container
https://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt

環境変数 CATALINA_HOME と CATALINA_BASE を設定して、それぞれに必要なディレクトリ、ファイルを配置してやるって感じでいけそうですね。あと、もちろんインスタンス毎にポート番号を変えると。

1. CATALINA_HOME、CATALINA_BASE にそれぞれ必要なディレクトリ、ファイルを配置する
ドキュメントに記載の感じで以下のディレクトリ構成にする。
■ CATALINA_HOME ( /usr/local/tomcat/apache-tomcat-7.0.52 )

[root@centos62 tomcat]# ll apache-tomcat-7.0.52
合計 8
drwxr-xr-x. 2 root root 4096  3月  8 18:04 2014 bin
drwxr-xr-x. 2 root root 4096  3月  8 18:04 2014 lib

■ CATALINA_BASE ( /usr/local/tomcat/instance1 )

[root@centos62 tomcat]# ll instance1
合計 28
drwxr-xr-x. 2 root root 4096  3月  8 18:05 2014 bin
drwxr-xr-x. 2 root root 4096  3月  8 18:05 2014 conf
drwxr-xr-x. 2 root root 4096  3月  8 18:05 2014 lib
drwxr-xr-x. 2 root root 4096  3月  8 18:05 2014 logs
drwxr-xr-x. 2 root root 4096  3月  8 18:05 2014 temp
drwxr-xr-x. 7 root root 4096  3月  8 18:05 2014 webapps
drwxr-xr-x. 2 root root 4096  3月  8 18:05 2014 work

■ CATALINA_BASE ( /usr/local/tomcat/instance2 )

[root@centos62 tomcat]# ll instance2
合計 28
drwxr-xr-x. 2 root root 4096  3月  8 18:06 2014 bin
drwxr-xr-x. 2 root root 4096  3月  8 18:06 2014 conf
drwxr-xr-x. 2 root root 4096  3月  8 18:06 2014 lib
drwxr-xr-x. 2 root root 4096  3月  8 18:06 2014 logs
drwxr-xr-x. 2 root root 4096  3月  8 18:06 2014 temp
drwxr-xr-x. 7 root root 4096  3月  8 18:06 2014 webapps
drwxr-xr-x. 2 root root 4096  3月  8 18:06 2014 work


2. $CATALINA_BASE/conf/server.xml のポート番号を書き換える
書き換えが必要なポート番号は以下です。

シャットダウン用のポート ( 8005 )
HTTP のポート ( 8080 )
AJP のポート ( 8009 )

今回はインスタンス1、インスタンス2でそれぞれ以下に変更しました。
インスタンス

シャットダウン用のポート ( 18005 )
HTTP のポート ( 18080 )
AJP のポート ( 18009 )

インスタンス

シャットダウン用のポート ( 28005 )
HTTP のポート ( 28080 )
AJP のポート ( 28009 )


上記で作業完了です。あとは、CATALINA_HOME、CATALINA_BASE を設定して起動するだけ。

export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-7.0.52
export CATALINA_BASE=/usr/local/tomcat/instance1
$CATALINA_HOME/bin/startup.sh
export CATALINA_BASE=/usr/local/tomcat/instance2
$CATALINA_HOME/bin/startup.sh

停止は以下で。

export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-7.0.52
export CATALINA_BASE=/usr/local/tomcat/instance1
$CATALINA_HOME/bin/shutdown.sh
export CATALINA_BASE=/usr/local/tomcat/instance2
$CATALINA_HOME/bin/shutdown.sh

シェルスクリプト用意した方が後々楽ですね。

起動したら「http://localhost:18080」、「http://localhost:28080」で Tomcat のホーム画面にアクセスできるはずです。

以上です。