5

有没有人可以在合适的环境中一起设置多个 CFML 引擎及其版本,以交叉测试基于 CFML 的应用程序。

理想情况下,我希望它是基于 Ubuntu 服务器的,因为我将它与 VirtualBox(在 Windows 7 下)一起使用。另外,如果可以在两者之间切换会很有帮助,这样我的笔记本电脑就可以一次处理一个,而不是同时运行所有的。我在考虑以下几点:

  • Adobe ColdFusion 9
  • Adobe ColdFusion 10
  • Railo 3.3.x
  • 铁路 4.x
  • 开放式BD 2.x

我还想让它们从同一个共享目录中提供服务,因此我不必为每个引擎准备一份代码副本。干杯

4

3 回答 3

7

您提到能够“在两者之间切换,因此我的笔记本电脑可以一次处理一台,而不是一次全部运行”,我猜您认为每个人都将在不同的 VM 上运行,或者他们可能需要大量的内存。我认为你不必担心这一点。除非您要求它们位于不同的机器上,否则我认为您可以在一台 VM 和一个 servlet 容器实例(如 Tomcat)上完成所有这些操作。

从高层次的角度来看,这就是我的做法。

  1. 安装 Tomcat
  2. 为每个引擎创建或下载 .wars。
  3. 将所述 .wars 部署到该 Tomcat 实例
  4. 设置 Tomcat 以使用来自不同主机名 (server.xml) 的每个 servlet
  5. 在 Tomcat 之外为您的一份代码创建一个代码目录
  6. 在每个 webapp 中设置一个符号链接,将代码文件夹链接到 servlet

然后,您应该能够通过访问浏览器中的不同主机名从每个引擎中找到相同的源。

我可能会遗漏一些东西。我已经很久没有设置这样的东西了。您可能需要进行大量调整(JVM 设置、切换到 Sun/ORACLE JVM 与 OpenJDK 等)。

我不认为运行这么多引擎会给你带来很大的麻烦。根据我的开发经验,我在 Tomcat 上运行了 3 个 CF9 实例,只使用了 189mb 的 RAM。并且每增加一个实例并没有将这个数字增加 1/3。远不及。如果您可以使用少于 512md 的 RAM 轻松运行所有这些,我不会感到惊讶。如果你的记忆力真的很差,甚至可能是 256mb。

我希望这有帮助。

于 2012-08-01T20:30:58.193 回答
2

对于 ColdFusion 10、Railo 和 OpenBD,您将考虑使用独立安装的 Tomcat、Jetty 或 JBoss 进行部署。

ColdFusion 9,可能最简单的解决方案是“企业多服务器配置”设置。

通过这些类型的安装,它们几乎与平台无关。

需要注意的是每个安装使用的 Web 服务器、代理和 jndi 端口,但前提是您希望一次运行多个服务器。

之后,您是否会为从 apache 或 Nginx 代理到服务器实例和您要使用的连接器而烦恼。

不知道这是否有帮助...

于 2012-08-01T20:28:04.433 回答
1

既然您提到了 VirtualBox,我将分享我个人处理此任务的方法。它包括几个相当简单的步骤:

  1. 将 Ubuntu Server 安装为 VirtualBox 来宾(主机也是 Ubuntu)。
  2. 仅设置 JVM 和更新等基本软件。设置虚拟
  3. 机器网络作为桥接适配器使用我的 Wi-Fi 连接。
  4. 配置我的 Wi-Fi 路由器 DHCP 为虚拟机的 MAC 地址分配静态 IP。
  5. 向我的(主机)系统主机添加条目:ip_assigned_to_vm virtual.ubuntu
  6. 设置来宾添加并将我的 ~/www 目录安装在机器内以访问 Web 应用程序。

现在,当我需要另一台机器进行实验或其他软件配置(我已经以这种方式测试过 ACF 10 和 Railo 4)时,我会做两件事:

  1. 克隆现有的干净机器。
  2. 确保它使用与桥接接口相同的 MAC 地址。

就是这样。

我运行哪台机器都没有关系,它们都可以作为http://virtual.ubuntu访问(当然,它需要在客户机上进行适当的 Web 服务器配置)。同时它们是独立的,制作任何我想要的东西并测试在 Ubuntu 上运行的任何东西都是完全安全的。

明显的缺点是我一次只能运行一台机器,而且使用了更多的磁盘空间。对我来说不是问题。

我已经尝试过使用 Tomcat 和多个 WAR 的方法,但它有几个问题:我不能使用不同的 JVM 和 Tomcat 设置,如果我搞砸了设置——所有 Tomcat 主机都已关闭。

希望这可以帮助。

于 2012-08-01T21:11:47.577 回答