4

我目前正在尝试为从一个 Tomcat 服务器运行的两个单独的应用程序设置两个子域,但我很难让它运行起来。

如果没有子域,我可以配置一个带有两个挂载点的 VirtualHost,并且能够以这种方式访问​​应用程序(看起来像 http:// url/confluence ),但这不是最佳选择。

我的设置如下:

  • 子域 - youtrack.url.com
  • 子域 - confluence.url.com
  • Tomcat7 运行两个带有 /confluence 和 /youtrack 上下文路径的 war 文件
  • Apache 2 针对 tomcat 实例运行 mod_jk

这是我的 httpd.conf 设置

JkWorkersFile /etc/httpd/conf/workers.properties
JkLogLevel info

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName youtrack.url.com
    ServerAlias www.youtrack.url.com
    JkMount /youtrack* tomcat
    DocumentRoot /var/www/html/youtrack
</VirtualHost>

<VirtualHost *:80>
    ServerName confluence.url.com
    ServerAlias www.confluence.url.com
    JkMount /confluence* tomcat
    DocumentRoot /var/www/html/confluence
</VirtualHost>

这是我的workers.properties

worker.list=tomcat

worker.tomcat.host=localhost
worker.tomcat.port=8009
worker.tomcat.type=ajp13

似乎正在发生的事情是我点击了每个子域的 DocumentRoot,但是当我删除 DocumentRoot 时,它永远不会进入 Tomcat Web 应用程序。

寻求帮助,谢谢。

更新 - 这是 mod_jk 日志

[Mon Aug 19 15:14:37.011 2013] [26577:139706593232864] [debug] map_uri_to_worker_ext::jk_uri_worker_map.c (1131): Attempting to map URI '/favicon.ico' from 2 maps
[Mon Aug 19 15:14:37.011 2013] [26577:139706593232864] [debug] find_match::jk_uri_worker_map.c (945): Attempting to map context URI '/confluence/=confluence' source 'JkMount'
[Mon Aug 19 15:14:37.011 2013] [26577:139706593232864] [debug] find_match::jk_uri_worker_map.c (945): Attempting to map context URI '/confluence=confluence' source 'JkMount'
[Mon Aug 19 15:14:37.011 2013] [26577:139706593232864] [debug] jk_translate::mod_jk.c (3723): no match for /favicon.ico found
[Mon Aug 19 15:14:37.011 2013] [26577:139706593232864] [debug] map_uri_to_worker_ext::jk_uri_worker_map.c (1131): Attempting to map URI '/favicon.ico' from 2 maps
[Mon Aug 19 15:14:37.011 2013] [26577:139706593232864] [debug] find_match::jk_uri_worker_map.c (945): Attempting to map context URI '/confluence/=confluence' source 'JkMount'
[Mon Aug 19 15:14:37.011 2013] [26577:139706593232864] [debug] find_match::jk_uri_worker_map.c (945): Attempting to map context URI '/confluence=confluence' source 'JkMount'
[Mon Aug 19 15:14:37.011 2013] [26577:139706593232864] [debug] jk_map_to_storage::mod_jk.c (3798): no match for /favicon.ico found
4

1 回答 1

5

将此添加到您的 Apache Web 服务器配置中:

<VirtualHost youtrack.url.com:80>
    ServerName youtrack.url.com
    JkMount / tomcat
    JkMount /* tomcat
</VirtualHost>

<VirtualHost confluence.url.com:80>
    ServerName confluence.url.com
    JkMount / tomcat
    JkMount /* tomcat
</VirtualHost>

这是你的Tomcats server.xml:

对于单个 webapps 目录(使用其域名部署的应用程序,请参阅“docbase”):

<Host name="youtrack.url.com" appBase="webapps">
    <Context path="" docBase="youtrack"/>
</Host>

<Host name="confluence.url.com" appBase="webapps">
    <Context path="" docBase="confluence"/>
</Host>

对于单独的 webapps 目录(部署为“ROOT”的应用程序):

<Host name="youtrack.url.com" appBase="ABSOLUTE_PATH\youtrack-webapps" autoDeploy="true" unpackWARs="true" />
<Host name="confluence.url.com" appBase="ABSOLUTE_PATH\confluence-webapps" autoDeploy="true" unpackWARs="true" />
于 2013-08-19T18:41:17.373 回答