在 1 个 apache/tomcat 下托管 2 个 webapps

在 1 个 apache/tomcat 下托管 2 个 webapps

我正在尝试主持多个 Web 应用程序在 apache2 后面的 tomcat 6 下通过mod_jk

我对此束手无策。我面临的问题是两个域似乎都指向单个 tomcat“域”。

我的 server.xml 如下所示:

<Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               URIEncoding="UTF-8"
               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="example.com">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>

      <Host name="example.com"  appBase="webapps-example"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>

      <Host name="example.com"  appBase="webapps-example.com"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>     
    </Engine>
  </Service>

我的workers.properties如下所示:

worker.list=example,example2

worker.example.port=8009
worker.example.host=example.com
worker.example.type=ajp13

worker.example2.port=8010
worker.example2.host=example2.com
worker.example2.type=ajp13

最后我的 apache vhosts 看起来像这样:

<VirtualHost 10.160.211.7:80>
    ServerName example.com
    DocumentRoot /srv/www/example.com/public_html/
    ErrorLog /srv/www/example.com/logs/error.log
    CustomLog /srv/www/example.com/logs/access.log combined

    JkMount  /* example
</VirtualHost>

<VirtualHost 10.160.211.7:80>
    ServerName example2.com
    DocumentRoot /srv/www/example.com/public_html/
    ErrorLog /srv/www/example.com/logs/error.log
    CustomLog /srv/www/example.com/logs/access.log combined

    JkMount  /* example2
</VirtualHost>

当我登录 example.com 和 example2.com 上的管理器 webapp 时,我可以部署到 example 上的上下文路径,并且相同的 contextpath 将出现在 example2 上 - 所以我确切地知道这是同一个 tomcat 域。

编辑:刚刚在我的 mod_jk 日志中发现这个

[Sun Feb 20 21:15:43 2011] [28546:3075521168] [warn] map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid. Uri must start with /
[Sun Feb 20 21:16:44 2011] [28548:3075521168] [info] ajp_send_request::jk_ajp_common.c (1496): (example) all endpoints are disconnected, detected by connect check (1), cping (0), send (0)

但不确定为什么示例没有响应

请帮助兄弟

答案1

我真是个白痴。我最终关闭了 apache 并连接到两个域上的 8080。问题仍然存在,所以我知道这不是 mod_jk 或 apache 的问题。

问题是我以 www.domain 的身份访问这两个域,但我没有在 tomcat 中为这些子域设置别名

相关内容