Linux

tomcatをcentos7でマルチインスタンスで動作させる

tomcatを複数動作させる方法はcentos6(init/Upstart)における手法は数多く存在しますがsystemdにおける方法があまりないのでメモとして残すことにしました。
既に動作しているtomcatはそのままで新インスタンスを追加します。

/usr/lib/systemd/systemにはtomcat.serviceとtomcat@.serviceが予め用意されている。
tomcat@.serviceを見ると先頭のコメント文に簡単にインスタンスの作成方法が記述されています。

To clone of this service
0. systemctl enable tomcat@name.service
1. create catalina.base directory structure in /var/lib/tomcats/name
2. profit.

またEnvironmentFileとして以下の記述があります

EnvironmentFile=-/etc/sysconfig/tomcat@%I

%Iが新インスタンスの名前でこの中にcatalina_baseを指定しておきます。

具体的には以下の手順になります。
instance2は新インスタンスの名前です。

1.新インスタンスの起動定義を行う。

# system enable tomcat@instance2.service
 ln -s '/usr/lib/systemd/system/tomcat@.sevice' '/etc/systemd/system/multi-user.target.wants/tomcat@instance2.service'

2.catalina base directoryとして/var/lib/tomcats/instance2フォルダを作成し配下にconf,logs,temp,webapps,workフォルダを作成し所有権、アクセス権を付与する。

3./etc/sysconfig/tomcat@instance2に以下を記述。

 TOMCAT_CFG_LOADED='1'
 CATALINA_BASE = '/var/lib/tomcats/instance2'

4./var/lib/tomcats/instance2/conf/tomcat.conf 修正

CATALINA_TEMPDIR= '/var/lib/tomcats/instance2/temp'
CATALINA_PID = '/var/lib/tomcats/instance2/logs/tomcat.pid'
CONNECTOR_PORT = '8081'

5./var/lib/tomcats/instance2/conf/server.xml 修正
port番号を全て修正

カテゴリー : CentOS7, Linux, ブログ.