Apache-2.2

Apache Tomcat Railo 堆疊多個站點

  • February 4, 2012

再會,

首先,當涉及到與伺服器相關的東西時,我非常綠色,所以請耐心等待。我正在執行 ubuntu 11.10,並使用https://github.com/talltroym/Railo-Ubuntu-Installer-Script/blob/master/setup-railo.sh在我的伺服器上安裝了一個 apache tomcat railo 堆棧

到目前為止一切都很好,伺服器執行良好,但是我似乎不知道如何配置多個網站。現在每個連接似乎都指向/var/www/。

我嘗試在 apache 中添加一個新的虛擬主機,除了它只是輸出我的 cfml 文件而不通過 railo 伺服器這一事實之外,它工作得很好。

我認為這是因為需要告知 railo 需要處理此問題,經過一些研究後,我在 available-sites/default-ssl 文件中發現了這一行:

DirectoryIndex index.cfm index.cfml default.cfm default.cfml index.htm index.html
#Proxy .cfm and cfc requests to Railo
   ProxyPassMatch ^/(.+.cf[cm])(/.*)?$ http://127.0.0.1:8080/$1
   ProxyPassReverse / http://127.0.0.1:8080/

將這些行複製到新的虛擬主機之後,railo 似乎可以正確啟動,但是是從 /var/www 而不是我在虛擬主機中設置的目錄執行的。

我的新虛擬主機如下所示:

<VirtualHost *:80>
DocumentRoot "/var/www/test"
ServerName -hidden-
<Directory "/var/www/test">
allow from all
Options +Indexes
</Directory>
   DirectoryIndex index.cfm index.cfml default.cfm default.cfml index.htm index.html
   #Proxy .cfm and cfc requests to Railo
           ProxyPassMatch ^/(.+.cf[cm])(/.*)?$ http://127.0.0.1:8080/$1
           ProxyPassReverse / http://127.0.0.1:8080/
   #Deny access to admin except for local clients
   <Location /railo-context/admin/>
           Order deny,allow
           Deny from all
           Allow from 172.16.0.0/16
           Allow from 192.168.0.0/24
   </Location>
</VirtualHost>

我可以使用一些指針來說明我需要在哪裡進行更改才能使其正常工作。乾杯!

Railo 執行的 Tomcat 實例也配置為/var/www:這是這一行/opt/tomcat/conf/web.xml

<Context path="" docBase="/var/www"/>

但是,如果您只是將其更改為/var/www/test目錄,則主站點中的項目將停止工作。相反,使用您正在建構的目錄結構以及每個站點的子目錄。在新的虛擬主機中更改您的代理指令:

ProxyPassMatch ^/(.+.cf[cm])(/.*)?$ http://127.0.0.1:8080/test/$1
ProxyPassReverse / http://127.0.0.1:8080/test/

這種目錄結構也意味著有人可以通過 訪問測試站點http://main-site.name/test/,所以要注意這一點;將其文件移至/var/www/main/或其他位置可能是一個好主意,並相應地調整其代理聲明。

引用自:https://serverfault.com/questions/356852