关于一台服务器上装多个tomcat引发端口冲突
今天在生产机上发现两个tomcat 死活只能启动一个 总是报错8081端口占用 而之前这两个tomcat是没有冲突的。
查了半天觉得很诡异,
一可以启动一个tomcat(端口为80),后一个tomcat(端口为8081)启动时报错8081端口被占用,
查配置文件server.xml 发现 tomcat(80)根本没有使用8081端口,
打开cmd 输入命令 netstat -ano发现8081的确是被占用的
打开任务管理器,通过查看-选择列-勾选PID
对比两个窗口 发现 占用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端口。
又手贱,不过还好解决了问题。