【Windows】【Tomcat】 単一Tomcat で複数のインスタンスを動かす

手順

1) 以下のサイトから、apache-tomcat-8.0.8-windows-x64.zip をダウンロードする

【注意】
 * Eclipseを使用する場合、新しいTomcatが対応しない時があるので注意。
http://tomcat.apache.org/download-80.cgi
2) 1) を解凍し、「C:\apache\tomcat\tomcat8」に展開する
3) 「C:\apache\tomcat」配下にフォルダ「tomcat8Sub1」を作成する
4) C:\apache\tomcat\tomcat8からフォルダ「conf」「logs」「temp」「webapps」「work」
 をコピーし、「C:\apache\tomcat\tomcat8Sub1」配下にペーストする
5) C:\apache\tomcat\tomcat8-sub\confのserver.xmlをエディタで開く
6) 下記の【server.xmlの変更点】を参考にポートを変更する
7) 4) ~ 6) をポート番号が被らないように繰り返す
8) コマンドプロンプト(管理者)で起動する
9) 以下を打ち込む
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
cd C:\apache\tomcat\tomcat8\bin
set CATALINA_HOME=C:\apache\tomcat\tomcat8
set CATALINA_BASE=C:\apache\tomcat\tomcat8Sub1
service.bat install SampleService1

set CATALINA_BASE=C:\apache\tomcat\tomcat8Sub2
service.bat install SampleService2

tomcat8w.exe //ES//SampleService1
tomcat8w.exe //ES//SampleService2
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

10) ダイアログが立ち上がるので、それぞれの「start」ボタン押下
11) ブラウザをたちあげて、「http://localhost:18080」「http://localhost:XXXXX」にアクセスする

server.xmlの変更点

[1]シャットダウンポート

【変更前】
<Server port="8005" shutdown="SHUTDOWN">

【変更後】
<Server port="18005" shutdown="SHUTDOWN">

[2]HTTPポート

【変更前】
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

【変更後】
    <Connector port="18080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="18443" />

[3]HTTPSポート

【変更前】
    <!--
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
    -->

【変更後】
    <Connector port="18443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />

[3]シャットダウンポート

【変更前】
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

【変更後】
    <!-- Define an AJP 1.3 Connector on port 18009 -->
    <Connector port="18009" protocol="AJP/1.3" redirectPort="18443" />

構成図

C:\apache\tomcat
│ 
├─ tomcat8
│  ├─bin    …… setenv.sh 等
│  ├─conf   …… server.xml 等
│  ├─lib    …… *.jar(インスタンス固有)
│  ├─logs
│  ├─temp
│  ├─webapps
│  └─work
│
└─ tomcat8Sub1
    ├─bin    …… setenv.sh 等
    ├─conf   …… server.xml 等
    ├─lib    …… *.jar(インスタンス固有)
    ├─logs
    ├─temp
    ├─webapps
    └─work


知識

環境変数

CATALINA_HOME

 * Tomcatバイナリのディレクトリ。(エンジン部分)
 * 具体的には、apache-tomcat-8.0.8-windows-x64.zip を展開したディレクトリ。

CATALINA_BASE

 * Tomcatインスタンスディレクトリ。(データ部分)
 * 具体的には、Webアプリケーションや設定ファイルがあるディレクトリ。