将Rails部署到Elastic Beanstalk,nodejs?

时间:2015-07-01 08:23:37

标签: ruby-on-rails node.js amazon-web-services amazon-ec2 hosting

我想在AWS的VPC EC2实例上托管我的应用程序,文档中的这一行让我感到有些困惑:

  

安装nodejs以允许Rails服务器在本地运行:

$ sudo apt-get install nodejs

我只是想知道为什么我需要nodejs,更不用说允许rails服务器在本地运行,因为我认为这已经由WEBrick处理了。

下面是相关文档的链接:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html

2 个答案:

答案 0 :(得分:0)

Rails为某些任务使用Javascript运行时(生成脚手架和编译模板等)。您不需要使用nodejs,您可以在Gemfile中添加其他运行时作为gems,例如therubyracertherubyrhino。 (EC2上的YMMV,如果它建议使用nodejs,我会安装它,除非你有充分的理由不这样做)

答案 1 :(得分:0)

问题的标题不清楚。 Elasticbeanstalk 使用 EC2实例,但您不应直接ssh到EC2服务器进行更改。

Elasticbeanstalk将销毁并创建EC2实例,以便随着进入应用程序的Web流量进行扩展。对一个特定实例进行更改并不能保证它将对属于一个Elasticbeanstalk应用程序的所有EC2实例进行更改。

此外,在部署,重建或应用程序缩减时,可以销毁该特定实例。

如果你在Elasticbeanstalk上使用Ruby平台,你需要在EB扩展中使用它们的内置运行命令来安装节点或使用yum包管理器来安装它。

以下是描述yum方法的文档:

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#linux-packages