ElasticBeanstalk 和 Rails - 部署应用程序但只得到 404 Not Found nginx/1.4.3
Posted
技术标签:
【中文标题】ElasticBeanstalk 和 Rails - 部署应用程序但只得到 404 Not Found nginx/1.4.3【英文标题】:ElasticBeanstalk and Rails - Deploying app but only getting 404 Not Found nginx/1.4.3 【发布时间】:2014-03-11 19:15:10 【问题描述】:我一直在尝试使用 EB 将我开发的一个简单应用程序部署到 AWS。该应用程序在我的本地计算机上运行没有任何问题,但是当我初始化并部署到 EB 时,没有任何反应。我不断收到带有文本“nginx/1.4.3”的 404 Not Found 页面。
至于我的 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 文件(我需要在这里需要 gems 吗?)
Rails 版本
一些Passenger/Nginx配置文件。
非常感谢任何和所有的帮助。我很乐意提供更多信息。
【问题讨论】:
我有同样的问题,除了我的应用程序运行得很好......但这让我很困扰......有人知道如何解决这个问题吗?? 【参考方案1】:错误消息“Command hooks failed”表示部署失败。 Elastic Beanstalk 运行一组脚本(挂钩),用于捆绑、迁移和部署您的应用程序。其中一个步骤失败了,您需要检查哪一个。
从您的亚马逊 EB 控制台,您需要下载您的日志。在那里你会找到directory-hooks-executor.log
,实际的错误就在其中。
【讨论】:
以上是关于ElasticBeanstalk 和 Rails - 部署应用程序但只得到 404 Not Found nginx/1.4.3的主要内容,如果未能解决你的问题,请参考以下文章
无法在 ElasticBeanstalk 上部署 Rails 5 VueJS 应用程序
Rails 部署到 AWS ElasticBeanstalk/RDS 失败
Rails + Elastic Beanstalk + Passenger:更改乘客配置
Elastic beanstalk [Rails] 部署问题 - 无法分配内存