关于一台服务器上装多个tomcat引发端口冲突

今天在生产机上发现两个tomcat 死活只能启动一个  总是报错8081端口占用  而之前这两个tomcat是没有冲突的。

查了半天觉得很诡异,

一可以启动一个tomcat(端口为80),后一个tomcat(端口为8081)启动时报错8081端口被占用,

查配置文件server.xml 发现  tomcat(80)根本没有使用8081端口,

打开cmd   输入命令 netstat -ano发现8081的确是被占用的

关于一台服务器上装多个tomcat引发端口冲突

打开任务管理器,通过查看-选择列-勾选PID

关于一台服务器上装多个tomcat引发端口冲突

关于一台服务器上装多个tomcat引发端口冲突

 对比两个窗口   发现 占用8081的是java.exe

关闭java.exe 之前的tomcat(80) 也关闭了。

形成死循环。

我以为是tomcat有问题

重新换了一个新的tomcat 过来,启动后发现明明没有启动8081端口,但8081就是被这个给占用,排除tomcat的问题。

一直就想这一天我动了啥

我好像动了环境变量

我好像在环境变量里加了“CATALINA_HOME”  和“CATALINA_BASE” 

我为什么要加这个两个玩意?

因为我查找问题的时候没有发现有日志,从网上找答案说是要加这两个玩意就好(后来发现实际上也没有什么卵用,要在startup.bat里面改东西就好了)

后来删除这个两个环境变量就一切恢复正常。

根据此过程判断,应该是在加“CATALINA_HOME”  和“CATALINA_BASE” 这两个环境变量的时候用的tomcat(8081)的安装路径,在启动tomcat(80)时就引用了tomcat(8081)相关的文件,而占用掉了8081端口。

又手贱,不过还好解决了问题。

相关推荐