【问题标题】:How to configure two versions of tomcat to run on port 8080 only one at a time如何配置两个版本的tomcat一次只在8080端口运行一个
【发布时间】:2021-06-18 08:12:15
【问题描述】:

此时我可以配置为运行两个版本的 tomcat(8 和 9)以在不同的 HTTP 端口 Z 和 Z+1 上运行。我所做的是

  1. 拥有两个单独的 systemd 单元文件,分别为下面的 tomcat.service 和 tomcat9.service 两个文件中的目的地。
  1. 环境=CATALINA_PID=/opt/tomcat/temp/tomcat.pid

  2. 环境=CATALINA_HOME=/opt/tomcat

  3. 环境=CATALINA_BASE=/opt/tomcat

  1. 更改了两个实例的端口:
  1. 服务器端口="Y and Y+1" shutdown="SHUTDOWN"
  2. 连接器端口="Z and Z+1" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="B and B+1"
  3. 连接器协议="AJP/1.3" address="::1" port="8010" redirectPort="B and B+1"

我可以同时运行这两个实例。但现在我希望两个实例具有相同的 Z 端口,并且只保证一个实例随时运行。我是否错过了任何配置?

【问题讨论】:

  • 检查 UNIX StackExchange 上的 this answer 以正确配置这两个服务。顺便说一句:要获得您在问题中显示的配置,您还可以在您的 <Server> 元素上使用 portOffset="1"

标签: tomcat server


【解决方案1】:

正如@Piotr P. Karwasz 所提到的,我在 [Unit] 部分下添加了 Conflicts=otherservicename.service,以便它停止其他服务所挂起的任何内容,从而阻止当前服务不正确运行。

[Unit]
Conflicts=tomcat9.service

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 2021-05-28
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    相关资源
    最近更新 更多