【问题标题】:Where to Find Tomcat-Hosted WAR on Web在 Web 上哪里可以找到 Tomcat 托管的 WAR
【发布时间】:2012-10-29 09:40:49
【问题描述】:

给定一个完整的 TOMCAT 目录,我如何确定我的 WAR 将托管在哪里?

我的 WAR 已爆炸,但我不确定在浏览器中输入什么内容才能访问它。

请注意,我是通过 ssh 连接到另一台机器上的,所以我假设转发功能已启用。

这是我的一些 $TOMCAT_HOME/conf/server.xml:

<Server port="20310" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Service name="Catalina">
    <Connector port="60310" protocol="AJP/1.3" redirectPort="8443" packetSize="65536"/>
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  unpackWARs="true" autoDeploy="true" appBase="webapps"/>
    </Engine>
  </Service>

  <Service name="App">
    <Connector port="45310" protocol="AJP/1.3" packetSize="65536"/>
    <Engine name="App" defaultHost="localhost">
      <Host name="localhost"  unpackWARs="true" autoDeploy="true" appBase="app"/>
    </Engine>
  </Service>
</Server>

谢谢。

【问题讨论】:

    标签: tomcat configuration war


    【解决方案1】:

    Tomcat 托管 Web 应用程序,并且不像 Apache HTTPD 那样拥有单个 DocumentRoot。给定以下位置:

    /path/to/tomcat/webapps
    

    和一个标准的 server.xml 包含:

    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost" unpackWARs="true" autoDeploy="true" appBase="webapps"/>
    </Engine>
    

    那么默认应用程序(使用特殊名称“ROOT”)将在这里:

    /path/to/tomcat/webapps/ROOT
    

    并将在以下位置发布自己:

    http://<ip-address>:<connector-port>/
    

    当部署了另一个命名应用程序时:

    /path/to/tomcat/webapps/myapp
    

    将在此处发布:

    http://<ip-address>:<connector-port>/myapp
    

    在您的情况下,您已经配置了两个服务、两个连接器和两个主机,因此您有两个 appBase 位置,而您又拥有两个默认应用程序:

    /path/to/tomcat/webapps/ROOT
    /path/to/tomcat/app/ROOT
    

    它们在 AJP 端口 60310 和 45310 上可用。

    这就是我们停止的地方,因为您没有告诉我们任何有关 Apache HTTPD 配置以及您是否配置了反向代理以将流量发送到 Tomcat 的信息。

    您为什么使用 Apache HTTPD?

    【讨论】:

      【解决方案2】:

      我认为你应该在$TOMCAT_HOME/webapps/ 下找到它,因为这是我放置我的 webapp 以在 Tomcat Server 6.0 上运行的地方

      【讨论】:

      • 但是我在 Firefox 中输入什么来实际查看托管应用程序?示例:通常在托管 TOMCAT WAR 之后,我会输入 localhost:8080 并在我的浏览器中查看应用程序
      • 你部署的机器的ip地址是多少?
      • 再次取决于很多事情。如果它在你的局域网内,你可以简单地使用它的直接 ip 访问它。但是,如果我没有错,这取决于它是如何被 DNS 访问的。
      • 你应该输入部署它的机器的IP地址,格式为xxx.xxx.xxx.xxx:8080/your_webapp_name/
      • 谢谢。我在“server.xml”指定的目录中有 2 个展开的 WAR。然而,当我导航到我的 TOMCAT 站点时,我只看到一个 Redhat 欢迎页面。在我的 /var/www/html 中,我只有示例 index.html。我需要从我的 $TOMCAT_HOME/webapps 复制到 /var/www/html 吗?谢谢阿布
      猜你喜欢
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多