Tomcat 常见的几种部署场景
通常,我们在同一台服务器上对 Tomcat 部署需求可以分为以下几种:单实例单应用,单实例多应用,多实例单应用,多实例多应用。实例的概念可以理解为上面说的一个 Tomcat 目录。
- 单实例单应用:比较常用的一种方式,只需要把你打好的 war 包丢在
webapps
目录下,执行启动 Tomcat 的脚本就行了。 - 单实例多应用:有两个不同的 Web 项目 war 包,还是只需要丢在
webapps
目录下,执行启动 Tomcat 的脚本,访问不同项目加上不同的虚拟目录。这种方式要慎用在生产环境,因为重启或挂掉 Tomcat 后会影响另外一个应用的访问。 - 多实例单应用:多个 Tomcat 部署同一个项目,端口号不同,可以利用 Nginx 这么做负载均衡,当然意义不大。
- 多实例多应用:多个 Tomcat 部署多个不同的项目。这种模式在服务器资源有限,或者对服务器要求并不是很高的情况下,可以实现多个不同项目部署在同一台服务器上的需求,来实现资源使用的最大化。-
这次其实要说的就是这种方式,但多个 Tomcat 就是简单的复制出一个新的 Tomcat 目录后改一下端口么?这样做也太 Low 了点吧?哈哈,其实并不是低端没技术含量的问题,当你同一台服务器部署了多个不同基于 Tomcat 的 Web 服务时,会迎来下面几个极其现实的问题。
- 当你需要对数十台 Tomcat 版本进行升级的时候,你需要怎么做?
- 当你需要针对每一个不同的 Web 服务分配不用的内存时,你需要怎么做?
- 当你需要启动多台服务器时,你需要怎么做?
当然,好像上面的都不是很重要,注意,划重点,多实例部署最大作用就是最大化利用服务器资源。
说干就干,现在就开始干?
别着急别着急,先看一下官方文档怎么建议的。他们说可不建议你复制一个又一份的全部 Tomcat 目录进行多实例的部署&