【问题标题】:AngularJS frontend and Rails backend with AWS in UbuntuAngularJS 前端和 Rails 后端与 Ubuntu 中的 AWS
【发布时间】:2014-05-05 15:18:06
【问题描述】:

我想讨论一下AngularJSRuby on Rails 一起工作并部署在 AWS(亚马逊网络服务)中。

到目前为止,我有一个带有 AngularJS 前端的开发环境,它将请求发送到 Ruby on Rails API 后端。这两个都是两个独立的应用程序(它们位于不同的 git 存储库中)。

AngularJS 应用程序在 Node.js 服务器上运行,正在侦听一个端口,RailsWebrick 服务器上运行,正在侦听另一个端口。

尽管它们一起工作,AngularJS 并没有物理集成到 RoR 应用程序中。

现在是在生产环境中部署的时候了。为此,我将使用 EC2 AWS 实例(当前使用 Elastic Beanstalk 进行部署)。据我了解,这里不能有相同的架构。

我想知道您在这一点上的建议。您看到任何优点或缺点吗?

我是否应该更新我的开发环境,以便将AngularJS 应用程序集成到RoR 应用程序中(并且只部署一个应用程序)?

这是我不喜欢的,因为我想我必须修改很多东西。

另一方面,是否可以像我在开发中那样单独运行两个应用程序?

我可以在同一实例中手动安装node.jsUnicorn 或任何服务器吗?

【问题讨论】:

  • 您能解释一下为什么您不能在 AWS 上拥有相同的架构吗?是因为你不能运行两台服务器吗? AWS 方面没有任何东西可以阻止这种情况的发生。事实上,我目前的工作在 AWS 上的部署几乎与此相同(不过,我们的前端托管在他们的 CloudFront 上)。
  • 嗨杰森,我不是说这是不可能的。唯一的问题是我是 AWS 新手,所以到目前为止我只知道如何使用 Elastic Beanstalk 进行部署。使用 EB,如果可能的话,我不知道该怎么做。我认为为了拥有这种架构,我应该创建一个 EC2 实例并手动安装服务器。这样对吗?我该怎么做?
  • 我们尝试在弹性 beanstalk 上安装 node js,但没有成功,几乎与您在 Node.js 中运行 AngularJS 应用程序和在 php 后端运行的要求相同。我们尝试使用 .ebextension 安装节点 js,但仍然存在限制和问题,我们决定手动进行。我的建议是手动进行此设置。您需要了解的有关 AWS 弹性豆茎的任何其他信息,请告诉我
  • @Rober 我不是真正的运维人员,所以我不知道如何设置 EC2 .. 至少不知道它的细节。您将需要两台服务器(或者,如果您想在不同的端口上运行这些应用程序,甚至只需要一台),一台配置为节点,一台配置为 Rails。我知道他们的 OpsWork 让部署 Rails 和 Node 之类的事情变得非常简单。从那里您只需将 Node 服务器配置为指向 Rails 服务器。

标签: ruby-on-rails ruby angularjs amazon-web-services amazon-ec2


【解决方案1】:

如上所述,我最终部署了两个独立的应用程序。主要区别在于服务器。我的 AngularJS 前端终于在 Nginx 上运行了。我的 Rails API 正在 Unicorn 上运行。

【讨论】:

  • 您能否提供有关您如何实现此目标的详细步骤或解释解决方案的博客文章。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-03
  • 2017-09-19
  • 1970-01-01
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多