ElasticBeanstalk和Rails - 部署应用程序,但只获得404 Not Found nginx / 1.4.3

时间:2014-02-13 04:28:43

标签: ruby-on-rails ruby amazon-web-services passenger elastic-beanstalk

我一直在尝试使用EB部署我开发给AWS的简单应用程序。该应用程序在我的本地计算机上运行时没有任何问题,但是当我初始化并部署到EB时,没有任何反应。我一直收到404 Not Found页面,文本为“nginx / 1.4.3”。

至于我的Rails应用程序,我正在使用Rails v4.0.1和Ruby 2.0.0(虽然我已经切换到1.9.3并且工作正常)。我在本地机器上成功使用了Passenger和WEBrick。

当我将我的应用程序推送到EB环境时,我在事件日志中收到以下错误:

[Instance: i-09add427 Module: AWSEBAutoScalingGroup ConfigSet: null] Command failed on instance. Return code: 1 Output: Error occurred during build: Command hooks failed .

我不知道造成这种情况的原因。这个链接(Deploying Rails with Elastic Beanstalk 404 Not Found Error)的建议没有帮助。

这是我的eb状态:

URL     : app-env-f9xtrrcpch.elasticbeanstalk.com
Status      : Ready
Health      : Green
Environment Name: app-env
Environment ID  : e-fjvq2ztbxh
Environment Tier: WebServer::Standard::1.0
Solution Stack  : 64bit Amazon Linux 2013.09 running Ruby 1.9.3
Version Label   : git-3ea95ce5ee91763bee8a9f2f5987a023725d9af1-1392264246964
Date Created    : 2014-02-12 22:03:10
Date Updated    : 2014-02-12 23:04:31
Description : 

我怀疑可能导致这种情况的原因是:

.ebextensions / myapp.config文件(我在这里需要宝石吗?)

Rails版

一些Passenger / Nginx配置文件。

非常感谢任何和所有帮助。我很乐意提供更多信息。

1 个答案:

答案 0 :(得分:1)

错误消息"命令挂钩失败"意味着部署失败。 Elastic Beanstalk运行一组捆绑,迁移和部署应用程序的脚本(挂钩)。其中一个步骤失败了,您需要检查哪个步骤 从您的亚马逊EB控制台,您需要下载您的日志。在那里,您将找到directory-hooks-executor.log并且实际错误位于其中。