2013-08-19 42 views
3

我目前正在嘗試爲兩個獨立的應用程序從一個Tomcat服務器運行設置兩個子域,並且我很難實現它。Apache/Tomcat中的多個子域使用mod_jk

沒有子域我能夠用兩個掛載點配置一個VirtualHost,並且能夠以這種方式獲取應用程序(看起來像http:// url/confluence),但這不是最優的。

我的設立如下:

  • 子域 - youtrack.url.com
  • 子域 - confluence.url.com
  • Tomcat7運行與上下文路徑的兩個戰爭文件/匯合,/youtrack
  • 的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

添加到您的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> 

這對你的雄貓的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" /> 
+0

剛剛試了一下,沒有工作 –

+0

工作就像一個魅力...你是救世主 – Ashwani