我一直在尝试使用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配置文件。
非常感谢任何和所有帮助。我很乐意提供更多信息。
答案 0 :(得分:1)
错误消息"命令挂钩失败"意味着部署失败。 Elastic Beanstalk运行一组捆绑,迁移和部署应用程序的脚本(挂钩)。其中一个步骤失败了,您需要检查哪个步骤
从您的亚马逊EB控制台,您需要下载您的日志。在那里,您将找到directory-hooks-executor.log
并且实际错误位于其中。