2011-06-22 66 views
0

我已經成功設法在Tomcat 7中安裝CF9(war),通過Apache vhosts連接兩個。我正在使用ajp代理.cfm請求,並使用其他重寫內容的Apache來爲Tomcat 7重寫其他URL。ColdFusion 9,Tomcat 7,Apache和vhosts

但是,每個虛擬主機都需要自己的虛擬根目錄中的ColdFusion WEB-INF副本。這工作正常,但它有每個CF站點具有獨特的CF實例的副作用。映射,DSN和所有其他設置都是自定義的,不在CF站點之間共享。

我真的很想將每個WEB-INF結合起來,這樣它們只是我整個開發環境中的一個,就像JRun4以前的工作方式一樣。

任何想法?

回答

1

我不認爲這是可能的與Tomcat,因爲我們有兩個單獨的實例和兩個單獨的安裝文件。

+0

是的,即使我將符號鏈接(在Mac上)WEB-INF目錄從虛擬根目錄到cfusion/WEB-INF目錄,它仍然會啓動CF的單個實例。 –

0

您是否嘗試過在Tomcat中複製虛擬主機?我在Tomcat wiki上發現了這個,聽起來像是它回答了你的問題。

http://wiki.apache.org/tomcat/CreateVirtualHosts

+0

是的,我已經成功地設法讓工作正常。這是一個要求,因爲我想用ajp去掉URL路徑中的上下文。所以,這工作正常。 –

0

斯科特,我知道這是一個古老的線程。你有沒有設法使它工作,甚至,這仍然是相關的?我試圖做同樣的事情,發現你可以創建一個符號鏈接到原始的ColdFusion上下文的META-INF和WEB-INF,而不是複製整個目錄結構。請記住在Tomcat的server.xml中的<Host>標記中添加allowLinking="true"。所以:

ln -s /path/to/tomcat/webapps/cfusion/META-INF /path/to/yourhost1/META-INF 

ln -s /path/to/tomcat/webapps/cfusion/WEB-INF /path/to/yourhost1/WEB-INF 

ln -s /path/to/tomcat/webapps/cfusion/META-INF /path/to/yourhost2/META-INF 

ln -s /path/to/tomcat/webapps/cfusion/WEB-INF /path/to/yourhost2/WEB-INF 

基本上所有虛擬主機確實是Java應用程序,但它們共享相同的ColdFusion引擎和ColdFusion元數據,以便DSN在所有主機共享。

現在我不確定上述是否是一種好的做法,打破任何事情,或者最糟糕的是,讓小貓傷心。

歡迎任何反饋。