4

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

在这里的教程:http: //docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_rails.html

我在第 6.3 步,它涵盖了更新应用程序。

eb status --verbose

返回准备就绪并返回绿色。

虽然,它给我的网址上显示的页面说:

“您要查找的页面不存在。

您可能输入了错误的地址或页面可能已移动。”

本教程期待“欢迎加入您正在使用 Ruby on Rails!” 要呈现的页面。

这里可能是什么问题?我对此很陌生,所以我不确定从哪里开始诊断问题。

我已经为这个应用程序本地目录运行了 rails s,它确实显示了“欢迎加入您正在使用 Ruby on Rails!” 页面正确。

谢谢!


当我执行 eb status --verbose 时,它​​确实返回绿色并准备就绪,尽管在此之前它给了我两次这样的错误:

error: git-credential-osxkeychain died of signal 11
error: git-credential-osxkeychain died of signal 11

我按照这里的教程https://help.github.com/articles/set-up-git修复了这个信号 11 错误。错误消失了,尽管访问我的网站所在的 url 仍然给我相同的错误页面。


好的,我修复了信号 11 错误,尽管它仍然没有呈现 Ruby on Rails 欢迎页面。


当我从 Elastic Beanstalk UI 创建应用程序时,示例应用程序工作正常。但是,当我将计算机上的应用程序文件上传到 EB 并部署链接以查看应用程序时,显示“403 Forbidden”。

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

EB UI 也说“绿色和健康”。


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

现在我收到 502 Bad Gateway 错误。


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

但是,它包含在我的宝石列表中。


4

2 回答 2

1

当然,可能出现问题的线索不多,但是您可以通过 ssh 连接到您的实例后查看日志。

简而言之:

  • 通过 ssh 连接到您的实例

  • 转到 /var/app/current/log

  • 阅读 production.log 文件

您可以在这篇文章中找到分步指南:

http://karmarails.wordpress.com/2013/08/25/production-sort-of-debugging-on-an-aws-machine-for-a-rails-application/

于 2013-09-03T08:26:36.680 回答
1

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

$ pip install awsebcli
$ eb init

选择默认区域
1) us-east-1 :美国东部(弗吉尼亚北部)
2) us-west-1 :美国西部(加利福尼亚北部)
3) us-west-2 :美国西部(俄勒冈)
4) eu-west-1 :欧盟(爱尔兰)
5) eu-central-1 :欧盟(法兰克福)
6) ap-south-1 :亚太地区(孟买)
7) ap-southeast-1 :亚洲太平洋(新加坡)
8)ap-southeast-2:亚太(悉尼)
9)ap-northeast-1:亚太(东京)
10)ap-northeast-2:亚太(首尔)
11)sa-east-1 : South America (Sao Paulo)
12) cn-north-1 : China (Beijing)
(默认为 3): 3

选择要使用的应用程序
1) [您创建的 eb 环境] ****选择您在 EB上创建的环境
2) [创建新应用程序]
(默认为 2):1
$ rake secret
[返回的超长密钥]
$ eb setenv SECRET_KEY_BASE=[返回的超长密钥]

等等,你会看到这个...
信息:环境更新正在开始。
信息:更新环境 [您创建的 eb 环境] 的
配置设置。
INFO:环境健康已从 Ok 转变为 Info。正在进行配置更新(运行 17 秒)。
信息:已成功将新配置部署到环境。

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

于 2016-07-12T12:17:46.640 回答