一台机子同时启动两个相同版本的tomcat

不羁的心 提交于 2020-02-11 23:13:45

其实我的机子之前是可以同时启动两个tomcat的,但是是两个不同版本的tomcat,一个是6.0,一个是7.0,我的环境变量都没有设置,所以我对解压过的tomcat唯一改动的就是在catalina.bat中加入了这两句话

set JAVA_HOME=D:\jdk\jdk1.6(你的jdk路径,不要到bin目录,安装目录就行了)
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m(设置内存)

然后将7.0的conf目录下的server.xml的几个端口号都改一下,默认的8080,8009,8005全部换成其他的任意端口号,没被占用的都行,比如9080,9009,9005...

这样我就可以同时启动两个tomcat了,一个6.0,一个7.0,然后今天想要同时启动两个6.0,发现复制一一份6.0到其他目录,然后端口号也改了,但是同时启动两个6.0是不行的,第二个启动会报错(在logs目录下的文件中能看到)什么Address already in use: JVM_Bind...之类的,网上查了一下,说启动两个相同版本的tomcat时,CATALINA_HOME不能设,或者要设两个不同的,然后改另一个tomcat的startup.bat,把CATALINA_HOME换成CATALINA_HOME2,但是我没有设置CATALINA_HOME啊,而且好麻烦,所以我想我直接设置在tomcat设置CATALINA_HOME行不行呢,然后我在startup.bat的第一行加了三句话:

set JAVA_HOME=D:\jdk\jdk1.6(你的jdk路径,不要到bin目录,安装目录就行了)
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m
set CATALINA_HOME=D:\apachetomcat\apache-tomcat-6.0.37(你的tomcat路径,注意哪个tomcat就写哪个tomcat的解压目录)

两个tomcat都同时这样设置,注意要在startup.bat中首行添加,在catalina.bat中添加好像是不行的,catalina.bat中的可以去掉了.

综上,

在有一个tomcat版本的前提下,复制一份,然后分别给每个tomcat的startup.bat首行添加一下三句话:

set JAVA_HOME=D:\jdk\jdk1.6(你的jdk路径,不要到bin目录,安装目录就行了)
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m(可以不写)
set CATALINA_HOME=D:\apachetomcat\apache-tomcat-6.0.37(你的tomcat路径,注意哪个tomcat就写哪个tomcat的解压目录)

最后改一下第二个tomcat的server.xml的端口号

然后就可以同时启动两个相同版本的tomcat了,要启动多个应该差不多的道理...

 

注意,catalina.base环境变量一定不要设,设置了tomcat的工作目录那改第二个tomcat的配置文件就不起作用了,不管运行多少个tomcat还是会使用你catalina.base所指向的tomcat目录下的配置文件,这样启动第二个肯定会冲突,CATALINA_HOME环境变量如果设置了,删不删都可以,没有影响,因为在startup.bat中开始已经动态设置了.但catalina.base环境变量如果设了一定要删掉.

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!