具有多种服务的雄猫



我将我的单个 tomcat 配置为在不同的连接器端口托管 2 个服务,如下所示:-

<!-- WebApp 1-->
<Service name="webapps1">
  <Connector port="7001" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
             enableLookups="false" redirectPort="8443" acceptCount="100"
             connectionTimeout="20000" disableUploadTimeout="true" />
  <Engine name="receiver1" defaultHost="localhost">
    <Host name="localhost"  appBase="webapps1" unpackWARs="true"
          autoDeploy="true">
    </Host>
  </Engine>
</Service>
<!-- End of WebApp 1-->
<!-- WebApp 2-->
<Service name="webapps2">
  <Connector port="7002" maxThreads="150" minSpareThreads="25"
             maxSpareThreads="75" enableLookups="false" redirectPort="8443"
             acceptCount="100" connectionTimeout="20000"
             disableUploadTimeout="true" />
  <Engine name="receiver2" defaultHost="localhost">
    <Host name="localhost"  appBase="webapps2" unpackWARs="true"
          autoDeploy="true">
    </Host>
  </Engine>
</Service>
<!-- End of WebApp 2-->

现在,我担心的是,如果我停止 tomcat 两个服务都将停止,但我想要的是仅停止/启动 webapp1,以便我可以进行更改并仅重新启动 webapp1,而不会影响 webapp2。

这意味着我想要的是接受超过 7002 的请求,同时我部署并重新启动 7001 连接器,而无需实际关闭 tomcat 进程。

我怎样才能做到这一点..?任何帮助真的非常感谢。

谢谢。

您可以使用 TOMCAT 管理器部署/取消部署托管在两个 Tomcat 服务中的 War 文件。

Tomcat Service1 部署:

https://hostip:service1-port/manager/?action=deploy&path=/CONTEXT_PATH&war=file:WAR_FILE_LOCATION

Tomcat Service2 部署:

https://hostip:service2-port/manager/?action=deploy&path=/CONTEXT_PATH&war=file:WAR_FILE_LOCATION

您可以通过JMX启动和停止服务,但安装两个Tomcat实例可能会更简单。如果您希望它们共享相同的二进制文件,请参阅任何 Tomcat 安装根目录中的 RUNNING.txt 中标题为"高级配置 - 多个 Tomcat 实例"的部分。

最新更新