【问题标题】:How can I deploy 2 or more Rails webapps using AWS OpsWork?如何使用 AWS OpsWork 部署 2 个或更多 Rails Web 应用程序?
【发布时间】:2025-11-12 16:10:01
【问题描述】:

如何使用 AWS OpsWork 拥有 2 个或更多 Rails 应用程序?
当我使用 Opswork 部署 2 个应用程序时,它们会获得相同的 URL 并重定向到部署的第一个应用程序。
如何在一个 OpsWork 实例中管理两个独立的应用程序?

【问题讨论】:

    标签: ruby-on-rails amazon-web-services web-deployment aws-opsworks


    【解决方案1】:

    我之前也遇到过类似的问题 - 两个 Node 应用程序在同一个堆栈中。

    一个答案是为两个 Rails 应用程序创建两个单独的 OpsWorks 堆栈。这当然假设它们不依赖于相同的资源(即共享数据库)。

    第二个更难的答案——也是我为 Node 应用程序采用的答案——是创建一个自定义层并手动指定内置 Rails 层调用的所有配方。如果内置 Rails 层和您的自定义层都具有 ELB 并且 Rails 站点托管在不同的实例上(端口号可能会发生冲突,取决于您使用的应用服务器)并且您确保您的应用程序部署在 OpsWorks 目标仅正确的盒子(不想在同一台服务器上安装两个 Rails 应用程序!)......它应该可以解决。 (或靠近)。

    我认为这并不像听起来那么容易:我记得出于某种原因深入研究了 Opsworks Chef 食谱代码。我忘了这是因为这个自定义层问题还是因为我写的另一个自定义层。

    【讨论】: