URAMIRAIKAN

1020のなれの果て

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 31    

プロフィール

1020@管理人

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

最近のつぶやき

@umkn1020 (01/19-15:19)
RT @fushiroyama: CNAMEトラッキングというのを目にしてしまった。3rd party cookie制限回避のために、アド会社のURLのCNAMEとして自ドメインを渡して設定させる。ブラウザからはどれも1st party cookieにみえると。これ悪いな〜!…
@umkn1020 (01/16-22:25)
Edeなんて確定申告で使うの? どちらかといえばIEのイメージだが
@umkn1020 (01/16-22:23)
今日の帰宅は24時回るコースかぁ
@umkn1020 (01/16-08:29)
RT @mayumi_yahagi: これぞTwitterよ https://t.co/iVIGU8z7l6
@umkn1020 (01/16-07:39)
RT @itsumi33: 盗まれやすそうな車に乗ってる人はとにかくtile pro 2020入れとけ。配線不要で1年電池持つ。電池交換可能。小さいので内装の中にも入る。他のtileユーザーやJAPAN TAXIが120m以内を通過したら検知して場所の履歴が残る。誤差120mの…

エントリーリスト

カテゴリーリスト

タグ