我正在尝试在本地开发机器上运行 Tomcat 6 和 Railo 3.3。我有使用 Adobe ColdFusion 的经验,因此想尝试一些新东西。
我已经在 中安装了 Tomcat d:\dev\tomcat6\
。
然后我下载了 Railo 的最新 war,将其重命名为 railoapplication1.war 并将其复制到d:\dev\tomcat6\webapps\
并让其运行。
测试了一下,我可以在http://本地主机:8080/
和 Railohttp://本地主机:8080/railoapplication1
现在据我所知,以这种方式复制 war 文件相当于创建一个新的多服务器实例(在 Adobe ColdFusion 下)。完成后,我通常会使用连接器将网站链接到该实例。
这是我有点困惑的地方。我的主要目标是通过主 tomcat 绑定访问多个“实例”
localhost:8080/railoapplication1
localhost:8080/railoapplication2
...
localhost:8080/railoapplicationN
但我想将我的应用程序文件与此分开,而不使用 Apache 前端。
例如我希望 railoapplication1:8080 上的应用程序如下所示:
d:\dev\www\railoapplication1
使用部署在d:\dev\tomcat6\webapps\railoapplication1
我尝试编辑 Tomcat 的 servers.xml,但没有成功。
<Host name="railoapplication1" appBase="webapps\railoapplication1"
unpackWARS="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="d:/dev/www/railoapplication1" />
</Host>
如果我这样做,我就可以浏览到
http://railoapplication1:8080/index.cfm(测试页)
但它根本没有被 Railo 捕获,我得到的是纯文本,而不是看到我的 CFML 被执行
<cfoutput>#now()#</cfoutput>
我肯定做错了什么,因为它看起来像一个非常标准的设置。
答案1
您混淆了appBase
。docBase
如果您将所有 Railo 实例放在中d:\dev\tomcat6\webapps\
,则可以在 Tomcat 中配置虚拟主机,如下所示:
<Host name="railoapplication1" appBase="webapps"
unpackWARS="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="railoapplication1" />
</Host>
<Host name="railoapplication2" appBase="webapps"
unpackWARS="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="railoapplication2" />
</Host>