2

我有两个 Web 应用程序,我想在一个 tomcat 实例下运行,但在不同的端口上连接,例如第一次战争 - 在 8080 下,第二次 - 8090。是否可以只使用两个连接器服务器.xml?

所以要连接到第一个应用程序 - 我将使用地址http://localhost:8080/myFirstApp和第二个 - http://localhost:8090/mySecondApp。如果不在本地主机上运行两个 tomcat 实例,我该如何做到这一点?

4

3 回答 3

3

http://www.mulesoft.com/tomcat-connector

现在让我们假设我们想要更改此配置,以便每个连接器接收到的每个请求都不是接收两个响应,而是希望每个连接器仅将请求从其端口传递到一个特定的 Web 应用程序。要实现此功能,我们只需重新排列元素层次结构,使其类似于以下内容:

<Server>
  <Service name="Catalina">
    <Connector port="8443"/>
    <Engine>
       <Host name="yourhostname">
          <Context path="/webapp1"/>
       </Host>
    </Engine>
  </Service>
  <Service name="Catalina8444">
    <Connector port="8444"/>
    <Engine>
       <Host name="yourhostname">
          <Context path="/webapp2"/>
       </Host>
    </Engine>
  </Service>
</Server>
于 2013-05-29T13:13:54.683 回答
3

运行两个连接器没有问题。

但是,如果您想让每个应用程序在不同的端口上访问,并且只能在不同的端口上访问(而不是在两个/所有端口上),请复制 conf/server.xml 中的服务部分,更改端口和名称,以免发生冲突。

您必须为这两种服务指定不同的 webapps 目录,并将每个 webapps 放在不同的目录中。

于 2011-11-30T19:41:48.433 回答
2

好吧,我认为您可以声明两个具有不同端口的连接器,它们将正常运行。但是您不能通过配置限制对应用程序的访问。也就是说 - 这两个应用程序都可以在两个端口上访问。如果您需要限制它,请进行Filter检查并返回 404。

于 2011-11-30T19:33:41.243 回答