Ruby on rails 使用Elastic Beanstalk部署简单Rails应用程序无效

Ruby on rails 使用Elastic Beanstalk部署简单Rails应用程序无效,ruby-on-rails,amazon-web-services,ruby-on-rails-3.2,amazon-ec2,Ruby On Rails,Amazon Web Services,Ruby On Rails 3.2,Amazon Ec2,我正在尝试向Elastic Beanstalk启动rails应用程序 在本教程中: 我正在进行第6.3步,其中包括更新应用程序 eb status --verbose 返回就绪和绿色 尽管如此,显示在它给我的url上的页面说: “您要查找的页面不存在 您可能键入了错误的地址,或者页面可能已移动。“ 本教程希望呈现“欢迎您乘坐Ruby on Rails!”页面 这里可能有什么问题?我对这方面还很陌生,所以我不确定从哪里开始诊断这个问题 我已经为这个应用程序本地目录运行了rails,它确实正确地显

我正在尝试向Elastic Beanstalk启动rails应用程序

在本教程中:

我正在进行第6.3步,其中包括更新应用程序

eb status --verbose
返回就绪和绿色

尽管如此,显示在它给我的url上的页面说:

“您要查找的页面不存在

您可能键入了错误的地址,或者页面可能已移动。“

本教程希望呈现“欢迎您乘坐Ruby on Rails!”页面

这里可能有什么问题?我对这方面还很陌生,所以我不确定从哪里开始诊断这个问题

我已经为这个应用程序本地目录运行了rails,它确实正确地显示了“欢迎乘坐Ruby on rails!”页面

谢谢


当我执行eb status--verbose时,它会返回绿色且ready(就绪),尽管在此之前,它会两次出现这样的错误:

error: git-credential-osxkeychain died of signal 11
error: git-credential-osxkeychain died of signal 11
我按照这里的教程修复了这个信号11错误。错误消失了,尽管访问我的站点所在的url仍然会显示相同的错误页面


好的,我修复了signal11错误,尽管它仍然没有呈现rubyonrails欢迎页面


当我从Elastic Beanstalk UI创建应用程序时,示例应用程序运行良好。但当我将电脑上的应用程序文件上传到EB并部署链接以查看应用程序时,会显示“403禁止”

同样,这只是一个普通的应用程序,在本地运行良好

ebui也说“绿色和健康”


我重新安装了git,并对其进行了相应的更新,然后继续学习教程,即使正确的页面仍然无法呈现。基本上我完成了教程,除了终止部分

现在我得到一个502坏网关错误


使用“eb log”,我发现我一直收到一条关于安装mysql2并将其添加到gemfile的消息,我已经完成并运行了“bundle install”。娜达

然而,它被包括在我的宝石清单中



当然,没有太多关于可能出错的线索,但是您可以在通过ssh连接到实例后查看日志

简言之:

  • 通过ssh连接到您的实例

  • 转到/var/app/current/log

  • 读取production.log文件

你可以在这篇文章中找到一个分步指南:


我必须执行以下操作来停止502错误网关。在使用仪表板上传应用程序并选择Ruby环境后,在开发盒上转到rails应用程序并安装eb cli

$pip安装awsebcli
$eb init

选择一个默认区域
1) 美国东部-1:美国东部(北弗吉尼亚州)
2) 美国西部-1:美国西部(北加利福尼亚州)
3) 美国西部-2:美国西部(俄勒冈州)
4) eu-west-1:欧盟(爱尔兰)
5) eu-central-1:欧盟(法兰克福)
6) 亚太地区(孟买)
7) 亚太地区(新加坡)
8) 亚太地区(悉尼)
9) 亚太地区(东京)
10) 亚太地区(首尔)
11) sa-east-1:南美洲(圣保罗)
12) cn-north-1:中国(北京)
(默认值为3):3

选择要使用的应用程序
1) [您创建的电子商务环境]****选择您在电子商务上创建的环境
2) [创建新应用程序]
(默认值为2):1
$rake secret
[返回了很长的密钥]
$eb setenv SECRET\u KEY\u BASE=[返回的超长密钥]

等待,您将看到此…
信息:环境更新正在启动。
信息:更新环境[您创建的eb环境]的配置设置。
信息:环境健康状况已从“确定”转换为“信息”。正在进行配置更新(运行17秒)。
信息:已成功将新配置部署到环境


现在访问URL,应该没有错误的网关错误。上面的命令创建了一个名为SECRET_KEY_BASE的环境变量,并将其放置在运行应用程序的webnode上

如果没有your_KEY.pem文件,还会有什么其他类型的文件?我下载了一个带有一些访问密钥的.cvs文件,尽管我不确定这是否与您在该.pem文件中查找的信息相同。另外,当我进入EC2时,没有列出任何实例。pem密钥会在您购买该服务后与EC2服务器一起提供给您,并且可以下载一次,我认为您已经提供了该服务。我想您指的是具有私有访问密钥的.cvs文件?这是我能想到的唯一一件事,我被要求下载一次并保证安全。我把它作为便条放在我的osx钥匙链里。是的,我得到了服务。我想我说的cvs文件是我的IAM用户的访问密钥。我不确定这个pem文件tbh。此外,我所看到的访问环境日志文件的唯一方法是创建一个应用程序和环境,然后从Elastic beanstalk UI查看日志文件。我可以使用命令“EB logs”从EB获取日志文件。lol看起来在我尝试了几次之后,“mysql2”没有安装有问题。