对于 Tomcat 的运行而言,需要两个路径:CATALINA_HOME
和 CATALINA_BASE
。 CATALINA_HOME
代表 Tomcat 的安装根路径,例如 /home/tomcat/apache-tomcat-9.0.27
。
CATALINA_BASE
代表某个 Tomcat 运行实例的配置根路径。在默认情况下,CATALINA_HOME
和 CATALINA_BASE
是指向同一路径的,即 Tomcat 的安装路径。
当需要开启多个实例的时候,可以分别指定 CATALINA_HOME
和 CATALINA_BASE
。相对于同时复制多个 Tomcat,这样做的好处是在需要升级 Tomcat 版本的时候,只需要更新 CATALINA_HOME
下的文件即可。所有的 Tomcat 实例都会共享一个 CATALINA_HOME
。
而对于 CATALINA_BASE
,可以为每个不同的 Tomcat 实例指定不同的路径。CATALINA_BASE
应当包含以下文件夹:logs、webapps、work、temp 和 conf。CATALINA_BASE
至少应该包含 conf/server.xml 和 conf/web.xml。
说了那么多,实际上部署多实例非常简单,进入 Tomcat 的安装路径,例如 /home/tomcat/apache-tomcat-9.0.27
,首先创建一个文件夹,并将 logs、webapps、work、temp 和 conf 这几个文件夹复制到其中:
1 | mkdir catalina_base_1 |
如果有修改过 conf/server.xml 中的 Context path,记得根据新的路径进行更改。接下来就可以启动实例了,在 Tomcat 安装路径下执行:
1 | CATALINA_BASE=catalina_base_1 bin/catalina.sh start |
停止等操作同理,例如:
1 | CATALINA_BASE=catalina_base_1 bin/shutdown.sh |
如果需要配置第二个实例,同样创建 catalina_base_2 文件夹即可,只要在启动之前指定对应的 CATALINA_BASE
即可,例如:
1 | CATALINA_BASE=catalina_base_2 bin/catalina.sh run |
- 本文标题:Tomcat 多实例配置方式
- 本文作者:拾与拾柒
- 创建时间:2019-11-10 20:55:15
- 本文链接:https://blog.iifatree.com/2019/11/10/tomcat-multiple-instances-guide/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!