Archive for 11月, 2008

11月 22nd, 2008

複数インスタンス起動方?

Posted in Tomcat by admin

 同一ホスト上で? 数ぜ Tomcatインスタンスを起動する場合、ダウンロードしたtomcatアーカイブを展開したディレクトリをまるごとコピーし、リッスンポートを被らないように設定します。しかし、Tomcatにぜ CATALINA_HOME、CATALINA_BASEという環? 変数があり、これを利用することでよりスマートな朧 成を組むことも可能です。

 CATALINA_HOMEはビルドされたTomcat関連ファイル? 主ぜ jarファイルなど? を置ぜ ホームディレクトリです。CATALINA_BASEは、定義されなければデフォルトぜ CATALINA_HOMEと同じディレクトリを指しますが、CATALINA_HOMEと別のディレクトリを指定することでインスタンス? の設定ファイル? を配置するベースディレクトリとして動作することが可能です。

┌─CATALINA_HOME
│  ├─bin    …“  catalina.sh 等
│  └─lib    …“  *.jar(全インスタンス共通)
│
├─CATALINA_BASE(instance1)
│  ├─bin    …“  setenv.sh 等
│  ├─conf   …“  server.xml 等
│  ├─lib    …“  *.jar(インスタンス固有)
│  ├─logs
│  ├─temp
│  ├─webapps
│  └─work
│
├─CATALINA_BASE(instance2)
│  ├─bin    …“  setenv.sh 等
│  ├─conf   …“  server.xml 等
│  ├─lib    …“  *.jar(インスタンス固有)
│  ├─logs
│  ├─temp
│  ├─webapps
│  └─work
│
└─CATALINA_BASE(instance3)
    ├─bin    …“  setenv.sh 等
    ├─conf   …“  server.xml 等
    ├─lib    …“  *.jar(インスタンス固有)
    ├─logs
    ├─temp
    ├─webapps
    └─work

Tomcatバージョンによる相違?
・? 記ディレクトリ朧 成は、Tomcat6.0をベースにしています
ボ Tomcat4.1系ぜ CATALINA_HOME/bin/catalina.shは、標準でぜ $CATALINA_BASE/bin/setenv.shを読み込まない為、以? のように修正が必要です。

    71,77c71
    < if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
    ---
    > if [ -r "$CATALINA_BASE"/bin/setenv.sh ]; then
    >   . "$CATALINA_BASE"/bin/setenv.sh
    > elif [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then

ボ Tomcat5.5以前のバージョンでは、「lib」ディレクトリが「commn」「shared」等に別れています
ボ CATALINA_BASE/lib配下ぜ “*.jar(インスタンス固有)”を有効にする為に、以? の対応が必要です。 6.0.x、5.5.xの場合、CATALINA_BASE/conf/catalina.propertiesを以? のように修?

    #common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
    ↓
    common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.base}/lib,${catalina.base}/lib/*.jar

4.1.xの場合、CATALINA_BASE/shared/lib が同様の役割を担うディレクトリとなります。クラスローダ固? の? 様の為、これは? 更出来ません。