在同一个Tomcat下部署多个同名系统

有多个同名war要部署在同一台服务器上。除了部署多个Tomcat,还可以在同一个Tomcat下设置多个Service。

流程

  1. 打开Tomcat/conf/server.xml,选中已有的整个<Service>标签,复制,然后粘贴到后面。
  2. 对复制的<Service>进行修改:
  • <Service>的name属性更改为Catalina2
  • 将第一个<Connector>的port由8080更改为其他未使用的端口。
  • 将第二个<Connector>的port由8009更改为其他未使用的端口。
  • <Engine>的name属性由Catalina改为Catalina2,与<Service>的name属性保持一致。
  • <Host>的appBase属性由webapps更改为webapps2
  • <Host><Value>子标签directory属性由logs更改为logs2
  1. 回到Tomcat根目录,复制文件夹:
  • 复制Tomcat/conf/Catalina文件夹,命名为Catalina2
  • 复制Tomcat/webapps文件夹,命名为webapps2
  • 复制Tomcat/logs文件夹,命名为logs2
  1. 增大Tomcat的JVM内存来支持多个Service的运行。打开Tokmcat/bin/catalina.bat,在第一行*@echo off*下添加:

    set JAVA_OPTS=-Xms2048m -Xmx2048m -Xss1024K -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m
    

    其JVM选项详见后文Tomcat JVM设置

  2. 删除Tomcat/work文件夹下的内容。

  3. 重启Tomcat。

Tomcat JVM设置

  • -Xmx Java Heap最大值,默认值为物理内存的1/4
  • -Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值
  • -Xmn Java Heap Young区大小,不熟悉最好保留默认值
  • -Xss 每个线程的Stack大小,不熟悉最好保留默认值
  • -XX:PermSize:设定内存的永久保存区域
  • -XX:MaxPermSize:设定最大内存的永久保存区域
  • -XX:PermSize:设定内存的永久保存区域
  • -XX:NewSize:设置JVM堆的’新生代’的默认大小
  • -XX:MaxNewSize:设置JVM堆的’新生代’的最大大小

注意Perm是JDK8以前使用,JDK8及以后使用Metaspace:

  • -XX:MetaspaceSize:class metadata的初始大小,达到该值就会触发垃圾收集进行类型卸载,同时GC会对该值进行调整。
  • -XX:MaxMetaspaceSize:class metadata的最大值。默认无限制。
发布了215 篇原创文章 · 获赞 51 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/fyyyr/article/details/95641356
今日推荐