windows系统部署多个tomcat端口冲突

 

需求描述:在同一台机器上部署两个tomcat(需要同时启动)跑不同的服务。

遇到的问题:tomcat A 用的默认配置,端口都是默认的。可以正常启动服务使用。后期需要添加tomcatB运行另外一个web系统。启动tomcat时候提示端口冲突。

解决问题思路: 一般情况下修改了tomcatB service.xml 文件,把端口改了就可以正常启动了。

windows系统部署多个tomcat端口冲突_第1张图片

但是,即便改了端口tomcatB启动的时候依然是端口冲突,并且tomcatB启动时候总是会启用tomcatA配置的端口。

一脸懵逼,只能上网找找还有没有什么其他原因。最后发现使用时startup.bat 启动的时候里面会判断系统是否配置了tomcat-home,如果配置了就会调用系统环境变量里配置的tomcat。然后我就检查了一下环境变量。。。果然是配置了CATALINA_HOME ,并且指向了tomcatA。这就是为什么tomcatB 启动时候一直会启用tomcatA的端口,而不是tomcatB的server.xml里面配置的端口。

windows系统部署多个tomcat端口冲突_第2张图片

解决办法:找到问题所在就好办了,现在有两张方式解决这个问题。一个简单省事的就是把环境变量里面的CATALINA_HOME  删除,这样两个tomcat都是调用自己配置的参数启动了。

第二个解决办法就是在配置一份CATALINA_HOME2  将值指向tomcatB的目录,然后修改tomcatB的startup.bat,catalina.bat,shutdown.bat 文件,将CATALINA_HOME  修改为 CATALINA_HOME2,这样tomcatB启动到时候就会使用自己的配置文件。

 

你可能感兴趣的:(tomcat)