多端口上的多个应用程序无法正常工作 - Tomcat

时间:2016-05-04 07:07:38

标签: tomcat7 port

我想在tomcat的单个实例上的不同端口上托管多个应用程序。 我已经浏览了以下链接,并在/etc/tomcat/server.xml文件中进行了以下更改,并添加了以下行。

How to run different apps on single Tomcat instance behind different ports?

的Server.xml

    <Service name="app1">
   <Connector port="8082" protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443" />
   <Engine name="Catalina1" defaultHost="localhost">
      <Host name="localhost"  appBase="app1"
        unpackWARs="true" autoDeploy="true">
      </Host>
   </Engine>
</Service>

<Service name="app2">
   <Connector port="8083" protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443" />
   <Engine name="Catalina2" defaultHost="localhost">
      <Host name="localhost"  appBase="app2"
        unpackWARs="true" autoDeploy="true">
      </Host>
   </Engine>
</Service>

在appBase中我提供了两种方式。 1.直接文件夹名称。 2.路径:webapps / temp。

问题是当我点击端口8082和8083时,我没有得到默认页面它适用于tomcat。 而且我无法打电话给我的网址。

例如:ip:8082 / temp / xyz / abc / param1 = hello&amp; param2 = world
IP:8083 /温度/ XYZ / ABC /参数1 =你好&安培; param2的=世界

当我在网络中看到我的网址时出现404错误。

但是如果使用端口8081(server.xml中的默认配置)调用相同的URL,它可以正常工作,我得到了正确的响应。

我在这里做错了什么。

如果可能的话,请告诉我如果以这种方式继续,在单个tomcat实例上托管多个应用程序的缺点和问题。

由于

1 个答案:

答案 0 :(得分:0)

您当前的配置存在多个问题。我建议您仔细阅读与您链接的其他问题。 具体做法是:

  • 服务名称必须是唯一的
  • 引擎名称必须是唯一的
  • appBase值必须是唯一的
  • appBase值不得重叠

就个人而言,我不会这样做。我在一个服务/引擎下运行所有​​内容并使用virtual hosting。您需要为每个服务设置DNS名称,但使用虚拟主机可以避免用户必须在用于访问服务的URL中包含端口号。