將多個 ColdFusion 10 實例連接到單個 Apache 2.2 伺服器
這是在 Windows 7 家庭高級版上。
我有兩個 ColdFusion 10(更新程序 2)實例:“cfusion”(預設)和“scratch”。
我已經執行了一個 Apache 2.2 實例。
在 Apache 中,我設置了兩個虛擬主機,每一個都需要由不同的 ColdFusion 實例提供服務。
每個 CF 實例都通過 Tomcat 的內部 Web 伺服器很好地提供文件。Apache 也可以很好地提供普通的 HTML 文件。因此,兩個 CF 實例和兩個虛擬主機都可以單獨工作。
我可以讓 wsconfig.exe 將任一 CF 實例連接到 Apache 伺服器,並通過 Apache 和該實例提供 CF 文件。
但是,我也找不到將第二個 CF 實例連接到 Apache 的方法,因此兩個CF 實例都是連接的,每個實例都服務於一個虛擬主機。WSConfig 似乎不理解“多個 CF 實例”的概念,並且它對 httpd.conf 所做的更改(通過 mod_jk.conf)似乎沒有以適應多個 CF 實例與之交談的方式實現單個 Apache 實例或多個虛擬主機。我坦率地承認,我對 mod_jk(甚至真正的 httpd.conf)的工作方式不夠自信,無法猜測我是否可以改變一些東西以使其工作。
如果我嘗試使用 WSConfig 添加第二個 CF 實例,我只會收到一條消息“Web 伺服器已為 ColdFusion 配置”。儘管如此……不是我想連接的 ColdFusion 實例!如果我將現有連接器刪除到已連接的任何實例,則可以毫無問題地連接另一個實例。這並不是說這有幫助,但它表明 CF 實例可以連接到 Apache。
在舊版本的 CF 和 JRun 下,這一切過去都是相當直接的 :-(
我發現的唯一文件是在“將 Web 伺服器上的多個 Apache 虛擬主機連接到單個 ColdFusion 伺服器”頁面上,但它只專門處理單個 CF 實例。多個 CF 實例沒有等效頁面。
我有點希望我可以將一些 mod_jk 配置移動到我在 httpd-vhosts.conf 中的虛擬主機條目中(這就是它過去用於 JRun 的方式),但我不知道該放在哪裡。
我想我已經在這裡涵蓋了所有必要的資訊?如果沒有,請唱出來,我會添加更多。謝謝。
PS:試圖將其專門標記為“ColdFusion-10”,因為答案將與以前的 CF 版本不同,但它不會讓我因為我在這個網站上的代表太低(奇怪它怎麼不考慮我的代表來自其他 S/O 站點…)。如果有足夠代表的人可以添加它,那會很酷:它可能是一個有效的標籤。塔。
為開發進行設置的一種快速方法是將每個虛擬主機的請求代理到正確的coldfusion實例的http埠,也就是它的內部Web伺服器。
<VirtualHost *:80> ServerName server-1.local ProxyPreserveHost on DocumentRoot /interwebs/server-1 DirectoryIndex index.cfm # proxy requests to tomcat on port 8500 ProxyPreserveHost on ProxyPassMatch ^/(.+\.cf[cm])(/.*)?$ http://localhost:8500/$1$2 </VirtualHost> <VirtualHost *:80> ServerName server-2.local DocumentRoot /interwebs/server-2 DirectoryIndex index.cfm # proxy requests to tomcat on port 8501 ProxyPreserveHost on ProxyPassMatch ^/(.+\.cf[cm])(/.*)?$ http://localhost:8501/$1$2 </VirtualHost>
如果您真的想將 apache 配置為使用 mod_jk,這是我相信 wsconfig 所做的(我從未安裝過 cf10,我只是在繼續我讀過的內容)然後看看http://rob。 brooks-bilson.com/index.cfm/2012/2/23/Configuring-Multiple-Instances-of-ColdFusion-10-with-Apache-Virtual-Hosts/