URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

CentOS 7でTomcatをマルチインスタンス

 一つのサーバ上でTomcatを複数動かすというのを仕事でやったのでメモ。
 これ自体は珍しくないけど、CentOSに含まれるものをそのまま利用するのはあまりやってなかった。

 CentOS 7の標準レポジトリから"yum install"でTomcatをインストールした場合、systemdには"tomcat.service"と"tomcat@.service"というのが登録されます。
 このうち、"@"がついているものがマルチインスタンス用のサービスです。
 以下、インスタンス名は「INST1」とします。

 まずは事前準備で環境情報ファイル"/etc/sysconfig/tomcat@INST1"を作成し、"CATALINA_BASE"を記述します。
 ※他にも必要に応じて追記する(例えば"JAVA_OPTS")。

CATALINA_BASE="/var/lib/tomcats/INST1"

 "CATALINA_BASE"に指定するパスは、通常は"/var/lib/tomcats/<インスタンス名>"にするようです。"/var/lib/tomcats"まではデフォルトで作られているみたいですね("シングルインスタンスの場合に一般的に使われる"/var/lib/tomcat"と紛らわしいですが)。

 続いて"CATALINA_BASE"と以下のディレクトリを作成します。

作成するディレクトリ(参考)シングルインスタンスの場合の既定値
/var/lib/tomcats/INST1/usr/share/tomcat
/var/lib/tomcats/INST1/conf/etc/tomcat
/var/lib/tomcats/INST1/logs/var/log/tomcat
/var/lib/tomcats/INST1/temp/var/cache/tomcat/temp
/var/lib/tomcats/INST1/webapps/var/lib/tomcat/webapps
/var/lib/tomcats/INST1/work/var/cache/tomcat/work

 こちらも必要に応じてシンボリックリンクを利用する("logs"を"/var/log/tomcat"配下にする等)。

# mkdir -p /var/lib/tomcats/INST1/{conf,logs,temp,webapps,work}
# chown -R :tomcat /var/lib/tomcats/INST1

 ディレクトリを作ったら、"/etc/tomcat"の中にある各種設定ファイルを"/var/lib/tomcats/INST1/conf"にコピーして修正。特に、インスタンスごとに使用するするTCPポート番号を変更する。
 設定については基本的に通常のTomcatと同じなので省略。

 ここまでの準備がきたら、インスタンス名を付与したサービスをsystemdで有効にする。

# systemctl enable tomcat@INST1
Created symlink from /etc/systemd/system/multi-user.target.wants /tomcat@INST1.service to /usr/lib/systemd/system/tomcat@.service.
# systemctl start tomcat@INST1

 これでTomcatが設定通り起動していれば完了。
 あとはインスタンスごとにこれを繰り返す。

 あまりディストリビューション標準のTomcatは使わない気もしますが、とりあえずこんな感じで。


  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

プロフィール

1020@管理人

都内を彷徨っているインフラエンジニアとかいう雑用係。いつだって眠い…。

最近のつぶやき

@umkn1020 (06/23-21:44)
まあでも仲間意識あったら多少なりとも擁護するのはそういうもんだと思うけど、普段のやり方がね…
@umkn1020 (06/23-21:42)
RT @kame_ishi: 現在鍵垢になってるけど、新聞記者の選民意識が垣間見える名ツイート。 https://t.co/GNl6BgMZSl
@umkn1020 (06/23-19:15)
Amazonで送付先をロッカーに指定した商品がキャンセルされてるな。サイズか重量が合わないからとメール来たけど、過去に同じものロッカーで受け取っているんだが…
@umkn1020 (06/23-18:04)
つかれた… (仕事休んだのにw)
@umkn1020 (06/23-00:13)
やはり思いつきでやり過ぎるのは良くないね

エントリーリスト

カテゴリーリスト

タグ