首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ColdFusion 11独立的内部websites服务器多个网站

ColdFusion 11独立的内部websites服务器多个网站
EN

Stack Overflow用户
提问于 2014-12-03 19:11:54
回答 2查看 1.2K关注 0票数 1

(我没有收到任何来自或Adobe的反馈。我希望我只是问得不对,并不是没有人知道答案)。

我们正在从CF9升级到CF11,所以我已经将CF11作为一个独立的内部web服务器安装了。由于我们没有使用IIS这样的外部we服务器,而且我们有4个不同的网站要配置,为了不将所有(或至少部分)的网页代码更改为指向不同的级别,从而可以找到它,我是否必须使用虚拟目录(即复制了所有的CF9代码(4个不同的网站)并将_CF11添加到主网站文件夹名称的末尾,即为这些网站创建了website1_CF11和别名,即aliases=“/alias1=E:\website1_CF11等…”)?

可以创建多个VD吗?它们是如何定义的?一个VD被定义为

代码语言:javascript
复制
<Context
            path="/" 
            docBase="C:\ColdFusion10\cfusion\wwwroot" 
            WorkDir="C:\ColdFusion10\cfusion\runtime\conf\Catalina\localhost\tmp"
            aliases="/VD=C:\newwebroot\VD">
</Context>

我将如何创造多个?这就是我需要做的,以实现我的目标,让我的网页,以看到目录结构在正确的水平?

我的server.xml目前有如下内容:

代码语言:javascript
复制
<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>

我可以把

代码语言:javascript
复制
/VD=E:\website1,

在上面的代码和CF管理工作,但我想我有点模糊,究竟应该做什么虚拟目录。我认为它本质上是一个ip地址或主机名的别名。

但是,我是否正确地理解了,它只允许一个网站指向不位于www.root路径中的另一个文件夹位置?我想要的是,对于每个网站,我必须能够指向该网站的根文件夹。我希望每个网站的代码都能正常工作:

代码语言:javascript
复制
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

现在别名不起作用,因为更改所有代码是毫无意义和耗时的,这样它就可以找到所有的网页,这样我们就可以测试功能并修复中断。例如,我目前需要将代码更改为:

代码语言:javascript
复制
<cf_location url=”#URLSessionFormat(‘/webpage/’)#” addtoken=”false”>

代码语言:javascript
复制
<cf_location url=”#URLSessionFormat(‘/alias1/webpage/’)#” addtoken=”false”>

我们最终将运行wsconfig可执行文件来连接到IIS,这样我们就可以从CF9完全迁移到CF11。我遗漏了什么?我无法想象Adobe在其内部web服务器上不会拥有与外部web服务器相同的功能。我们没有足够的资源将CF9、CF11和IIS放在单独的机器上,不需要并行安装CF11就可以测试直接迁移。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-08 03:02:25

我不确定这会不会对你有帮助,但我也有同样的问题。我厌倦了在开发环境和活动服务器上有不同的需求,而且我不知道对于上面询问的内容存在什么样的选择。我没有在server.xml选项中挖掘和找到解决方案,而是为我的每个开发站点创建了一个不同的server.xml,根文件夹指向相应的站点。所以website1有一个website1.xml,website2使用website2.xml,每个不同的.xml文件都指向它对应的webroot。

一旦我拥有了所有的xml文件,我就创建了一个批处理文件,它将接受服务器名,删除server.xml,将websiteN.xml复制到server.xml,并重新启动CF应用服务器。然后,我为每个网站做了一个快捷方式,每个站点都有自己的名字,所以当我需要在website1上工作时,我点击website1,它会为该网站启动我的CF服务器。我将我的主机文件更新为指向www.website1.com的127.0.0.1,并将dev端口更改为80 (我不确定它是否适用于CF11)。这为我创建了一个几乎精确的开发环境,这正是我所追求的。

以下是批处理文件代码:

代码语言:javascript
复制
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"

这些快捷方式都指向同一个批处理文件,只需传入相应的网站名称,该名称对应于复制的website.xml文件。所以快捷方式的目标是: C:\path\to\batch\cfserver.bat website1

只要您没有在日常的开发任务中整天不停地来回切换,这就应该能做到这一点。如果我必须每天更换服务器10倍,这将是非常烦人的,但由于它通常最多是2或3,这解决了您为我描述的问题。

票数 0
EN

Stack Overflow用户

发布于 2014-12-05 13:19:14

内部web服务器只是为开发人员设计的,并不是功能齐全的。如果你想要一个功能齐全的网络服务器.用一个!如果您不想搞乱IIS,只需安装Apache即可。

尽管如此,您可以通过简单地运行多个CF实例来解决问题,每个实例都有自己的内部web服务器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27279752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档