【问题标题】:ColdFusion 9, Tomcat 7, Apache and vhostsColdFusion 9、Tomcat 7、Apache 和虚拟主机
【发布时间】:2011-09-20 01:56:40
【问题描述】:

我已经成功地在 Tomcat 7 中安装了 CF9 (war),通过 Apache vhost 将两者连接起来。我正在使用 ajp 代理 .cfm 请求,并使用 Apache 为其余内容提供其他重写 Tomcat 7 的 url。

但是,每个虚拟主机都需要在虚拟主机根目录中拥有自己的 ColdFusion WEB-INF 副本。这很好用,但它具有每个 cf 站点具有唯一 CF 实例的副作用。映射、DSN 和所有其他设置都是自定义的,不会在 CF 站点之间共享。

我真的很想将每个 WEB-INF 组合起来,这样它们就只是我整个开发设置的一个,有点像 JRun4 过去的工作方式。

有什么想法吗?

【问题讨论】:

    标签: apache tomcat coldfusion


    【解决方案1】:

    Scott,我知道这是一个旧线程。您是否设法使其工作,甚至,这仍然相关吗?我试图做同样的事情,发现您可以对原始 ColdFusion 上下文的 META-INF 和 WEB-INF 进行符号链接,而不是复制整个目录结构。只要记住在 Tomcat 的 server.xml 中的 <Host> 标记中添加 allowLinking="true" 即可。所以:

    ln -s /path/to/tomcat/webapps/cfusion/META-INF /path/to/yourhost1/META-INF
    
    ln -s /path/to/tomcat/webapps/cfusion/WEB-INF /path/to/yourhost1/WEB-INF
    
    ln -s /path/to/tomcat/webapps/cfusion/META-INF /path/to/yourhost2/META-INF
    
    ln -s /path/to/tomcat/webapps/cfusion/WEB-INF /path/to/yourhost2/WEB-INF
    

    基本上所有虚拟主机都是 Java 应用程序,但它们共享相同的 ColdFusion 引擎和 ColdFusion 元数据,因此 DSN 在所有主机之间共享。

    现在我不确定以上是否是一个好习惯,破坏任何东西,或者最糟糕的是,让小猫伤心。

    欢迎任何反馈。

    【讨论】:

      【解决方案2】:

      您是否也尝试过在 Tomcat 中复制虚拟主机?我在 Tomcat wiki 上找到了这个,听起来它回答了你的问题。

      http://wiki.apache.org/tomcat/CreateVirtualHosts

      【讨论】:

      • 是的,我已经成功地让它工作正常。这是一个要求,因为我想使用 ajp 来删除 URL 路径中的上下文。所以是的,这很好。
      【解决方案3】:

      我认为这对于 Tomcat 是不可能的,因为我们有两个单独的实例和两个单独的安装文件。

      【讨论】:

      • 是的,即使我(在 Mac 上)将 WEB-INF 目录从 vhost 根目录链接到 cfusion/WEB-INF 目录,它仍然会启动单个 CF 实例。
      猜你喜欢
      • 2014-05-28
      • 2011-06-11
      • 2012-08-13
      • 2013-01-13
      • 2014-04-09
      • 2011-11-05
      • 2012-04-14
      • 1970-01-01
      • 2014-01-19
      相关资源
      最近更新 更多