启动多个Tomcat时修改端口,与修改端口后仍然以8080启动 您所在的位置:网站首页 邮箱设置端口号怎么改不了 启动多个Tomcat时修改端口,与修改端口后仍然以8080启动

启动多个Tomcat时修改端口,与修改端口后仍然以8080启动

2024-07-11 05:47| 来源: 网络整理| 查看: 265

在Windows下启动多个tomcat

之前已经配好了一个apache-tomcat-7.0.52,运行CAS(并改名为 apache-tomcat-CAS-9102 后简称为Tc)。后解压了另一个tomcat(改名为 apache-tomcat-Solr-9101简称Ts)运行Solr时遇到的一些问题

为了方便修改,我保留了一个原版没修改的文件夹 apache-tomcat-7.0.52(简称T7)

问题一:修改 tomcat 默认端口后 启动仍然为8080

首先:按习惯先修改默认端口8080避免冲突,于是我在 Ts 的server.xml 中把 8080改为9101,Tc 的8080改为9102

将 cas.war 放到 Tc 的 webapps 文件夹下,启动 Tc 。发现 启动成功 能够访问tomcat页面,但却是 8080 端口, war 包 没有被解压,Tc 下的 logs 文件夹下也没有任何日志文件。 也是我自己把自己坑进去了,开始一直以为是配置有问题后来运行原先的 Ts 也不行(改之前就叫 apache-tomcat-7.0.52) 才发现是我新解压了一个 apache-tomcat-7.0.52 做修改样板放在同级目录下,所以按我以前配的环境变量 tomcat环境变变量配置 不管我执行哪个tomcat都只会执行做样板的 apache-tomcat-7.0.52 原生程序

于是修改环境变量 : 配置多个CATALINA_HOME 同时修改 tomcat bin目录下的 catalina.bat 、startup.bat、shutdown.bat 。Ts 下这三个文件的 CATALINA_HOME 替换成 CATALINA_HOME1 ,相应的Tc 的替换成 CATALINA_HOME2 。 此时再分别启动 Tc 或 Ts 成功,用相应 端口 访问对应的页面也没问题了。

问题二:多个tomcat修改8080默认端口后仍然端口冲突

接上单个启动没问题后,我当然两个一起开咯。然后问题又来了

严重: Failed to initialize connector [Connector[AJP/1.3-8009]] org.apache.catalina.LifecycleException: Failed to initialize component [Connector[AJP/1.3-8009]] at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:813) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.startup.Catalina.load(Catalina.java:638) at org.apache.catalina.startup.Catalina.load(Catalina.java:663) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454) Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed at org.apache.catalina.connector.Connector.initInternal(Connector.java:980) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) ... 12 more Caused by: java.net.BindException: Address already in use: JVM_Bind :8009 at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:410) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:640) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434) at org.apache.catalina.connector.Connector.initInternal(Connector.java:978) ... 13 more Caused by: java.net.BindException: Address already in use: JVM_Bind at java.net.DualStackPlainSocketImpl.bind0(Native Method) at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106) at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190) at java.net.ServerSocket.bind(ServerSocket.java:375) at java.net.ServerSocket.(ServerSocket.java:237) at java.net.ServerSocket.(ServerSocket.java:181) at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49) at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:397) ... 16 more

不过这就很明显啦,虽然打印的没看清但是日志文件写的很清除:8009端口被占用,再看一下server.xml 文件中端口相关配置有

所以启动一个 tomcat 除了占用 8080 端口外还会占用 8005、8009、8443,选一个改成8006、8010、8444 再启动。同时运行通过

暂时没遇到别的问题,以后遇到再补充… …

我坚信每一分努力付出,必将换回一份收获! Arvin_Chen编辑整理,欢迎转载,转载请声明文章来源。学习讨论欢迎联系QQ:1036033343



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有