2014-12-03 89 views
1

(我沒有收到任何來自Adobe ColdFusion安裝技術幫助或Adobe ColdFusion論壇的反饋,我希望我只是沒有正確地問,並不是說沒有人知道回答)。ColdFusion 11獨立內部Web服務器多個網站

我們正在從CF9升級到CF11,所以我已經將CF11作爲獨立的內置Web服務器進行安裝。由於我們沒有使用像IIS這樣的外部網絡服務器,並且我們有4個不同的網站進行配置,爲了不改變所有(或至少某些)網頁代碼以指向不同的級別並且可以找到它,請執行我必須使用虛擬目錄[即我已經複製了所有CF9代碼(4個不同的網站),並在主網站文件夾名稱的末尾添加了_CF11,即website1_CF11,併爲這些網站創建了別名,即aliases =「/ alias1 = E:\ website1_CF11等......」]?

是否可以創建多個VD?他們如何定義?一個VD被定義爲

<Context 
      path="/" 
      docBase="C:\ColdFusion10\cfusion\wwwroot" 
      WorkDir="C:\ColdFusion10\cfusion\runtime\conf\Catalina\localhost\tmp" 
      aliases="/VD=C:\newwebroot\VD"> 
</Context> 

我將如何創建多個?這是我需要做什麼來完成我的目標,讓我的網頁看到目錄結構在正確的水平?

我現在有喜歡的東西爲我的server.xml中的以下內容:

<Context 
       Path=」/」 
       docBase=」D:\ColdFusion11/cfusion/wwwroot」 
       WorkDir=」D:\ColdFusion11/cfusion/runtime/conf/Catalina/localhost/tmp」 
       Aliases=」/CFIDE=D:\ColdFusion11\cfusion\wwroot\CFIDE, 
           /WEB-INF=D:\ColdFusion11\cfusion\wwwroot\WEB-INF, 
           /website1=E:\website1, 
           /website2=E:\website2, 
           /website3=E:\website3, 
           /website4=E:\website4」> 
</Context> 

我可以把

/VD=E:\website1, 

到上面的代碼和CF管理的作品,但我想我是一個對於什麼樣的虛擬目錄應該做些什麼都不是很模糊。我認爲它本質上是一個Web地址或主機名的IP地址的別名。

但我是否正確理解,它只是允許網站指向不在wwwroot路徑中的不同文件夾位置?我想要的是爲每個網站我必須能夠指向該網站的根文件夾。我想每個網站下面這樣的代碼工作正常:

For website1:  http://localhost:8500/index.html 
For website2:  http://localhost:8501/index.html 
For website3:  http://localhost:8502/index.html 
For website4:  http://localhost:8503/index.html 

眼下別名行不通的,因爲那將是沒有意義的,耗時的改變所有的代碼只是這樣它可以找到所有網頁所以我們可以測試功能並修復中斷。例如,我現在需要將代碼更改爲以下:

<cf_location url=」#URLSessionFormat(‘/webpage/’)#」 addtoken=」false」> 

<cf_location url=」#URLSessionFormat(‘/alias1/webpage/’)#」 addtoken=」false」> 

我們最終將運行WSCONFIG可執行文件連接到IIS,所以我們完全可以從CF9遷移到CF11。我錯過了什麼?我無法想象Adobe不會像使用外部Web服務器那樣具有與其內部Web服務器相同的功能。我們沒有足夠的資源將CF9,CF11和IIS放在單獨的機器上,以測試沒有並行安裝CF11的直接遷移。

+0

我已經結束了與內部Web服務器並行安裝,然後連接到IIS連接到我們的網站,並說這首先測試,讓我們得到它的工作。我的確看到你的觀點,即亞當卡梅隆,創建多個CF實例就是答案。我認爲我們現在已經過去了,希望能夠發揮作用。我們的網站配置不容易。現在我的問題是讓網站發揮作用,爲什麼我今天會發布另一個問題。 :{ 謝謝您的幫助! – jkcrosby3 2015-01-06 19:59:21

回答

0

我不確定這是否會對您有所幫助,但我有類似的問題。我厭倦了對我的開發環境和實時服務器有不同的要求,我不知道上面提到的問題有什麼樣的選擇。我沒有在server.xml的選項中尋找解決方案,而是爲每個開發站點創建了一個不同的server.xml文件,根文件夾指向相應的站點。所以,網站1有一個網站1.xml,網站2使用網站2.xml,每個不同的.xml文件指向它相應的webroot。

一旦我把所有的XML文件,我創建了一個批處理文件,將接受服務器名稱,server.xml中刪除,複製websiteN.xml到server.xml中,並重新啓動CF應用服務器。然後我爲每個網站命名了一個快捷方式,所以當我需要在網站1上工作時,我點擊網站1,然後啓動該網站的CF服務器。我更新了我的主機文件,指向www.website1.com的127.0.0.1,並將開發端口更改爲80(我不確定它是否適用於CF11)。這爲我創建了一個幾乎精確的開發環境,這正是我所追求的。

這裏是批處理文件代碼:

ECHO OFF 

cd c:\ColdFusion10\cfusion\runtime\conf\ 
DEL server.xml 
COPY %1%.xml server.xml 

net stop "ColdFusion 10 Application Server" 
net start "ColdFusion 10 Application Server" 

和快捷方式都指向同一個批處理文件,只是通過在相應的網站名稱,對應於[公司網址] .xml文件是複製過來。因此,快捷方式的目標是:C:\ path \ to \ batch \ cfserver.bat網站1

只要您不是經常在日常的開發任務中來回切換,就應該這樣做。如果我每天必須更換服務器10x,這將會非常煩人,但由於通常對我而言通常是2或3,所以這解決了您爲我描述的問題。

2

內部Web服務器僅用於開發,並不是全功能。如果你想要一個全功能的網絡服務器......使用一個!如果你不想惹IIS,只需安裝Apache。

也就是說,你可以通過運行多個CF實例來解決你的問題,每個實例都有自己的內部Web服務器。

+0

_內部Web服務器僅用於開發,而不是全功能_這是我一直想知道的最新版本的ColdFusion。這對於ColdFusion 11來說還是這樣嗎?我想知道,因爲版本11和10現在與Apache Tomcat一起提供。它是不是用於生產用途? – 2014-12-05 17:26:42

+0

它比JRun的JWS更好,但是使用Tomcat網絡服務器,還是使用HTTPD或其他東西? – 2014-12-05 19:28:55