我想在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
答案 0 :(得分:0)
Rails为某些任务使用Javascript运行时(生成脚手架和编译模板等)。您不需要使用nodejs,您可以在Gemfile中添加其他运行时作为gems,例如therubyracer
,therubyrhino
。 (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