ColdFusion 11独立内部Web服务器多个网站

问题描述:

(我没有收到任何来自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

我不确定这是否会对您有所帮助,但我有类似的问题。我厌倦了对我的开发环境和实时服务器有不同的要求,我不知道上面提到的问题有什么样的选择。我没有在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,所以这解决了您为我描述的问题。

内部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