Rails 应用程序迁移到 AWS Elastic Beanstalk :: Bad Gateway (502)
Posted
技术标签:
【中文标题】Rails 应用程序迁移到 AWS Elastic Beanstalk :: Bad Gateway (502)【英文标题】:Rails app migrating to AWS Elastic Beanstalk :: Bad Gateway (502) 【发布时间】:2016-02-27 12:20:49 【问题描述】:所以我正在从 Heroku 迁移到 AWS Elastic Beanstalk 并进行测试。我正在关注此文档:
AWS Docs :: Deploy Rails app to AWS
但是按照文档操作后,我一直收到 Bad Gateway 502(错误)。
这是我的应用程序的规格:
Rails 4.1.8 Ruby 2.1.7 服务器彪马所以我检查了我的/log/nginx/error.log
,这是我看到的:
2015/11/24 06:44:12 [crit] 2689#0: *4719 connect() 到 unix:///var/run/puma/my_app.sock 失败(2:没有这样的文件或目录)连接到上游时,客户端:172.31.13.129,服务器:_,请求:“G ET / HTTP/1.1”,上游:“http://unix:///var/run/puma/my_app.sock:/”,主机:“my-app-env-mympay5afd.elasticbeanstalk.com”
从这个AWS Forum thread看来,Puma 似乎没有正确启动。
所以我查看的三个日志文件是:
/var/log/eb-activity.log /var/log/eb-commandprocessor.log /var/log/eb-version-deployment.log除了我修复的“secret_key_base”错误(我使用了eb setenv SECRET_KEY_BASE=[some_special_key]
命令)之外,它们似乎都没有表明任何错误。
可能暗示问题根源的一件事是/var/log/nginx/rotated/error.log1448330461.gz
具有以下内容
2015/11/24 01:06:55 [警告] 2680#0:在 /etc/nginx/nginx.conf:39 中重复 MIME 类型“text/html” 2015/11/24 01:06:55 [警告] 2680#0:0.0.0.0:80 上的服务器名称“localhost”冲突,被忽略
但它们似乎是警告而不是严重的阻碍。
还有其他我应该看的文件吗?
作为另一个参考点,我查看了这个 SO Post,这似乎暗示我需要启用 SSL 才能使所有这些工作。
提前致谢!
【问题讨论】:
【参考方案1】:知道了。
在我的“production.rb”中,我有一个 force_ssl 设置,但由于我刚刚开始,我还没有设置 SSL。
【讨论】:
以上是关于Rails 应用程序迁移到 AWS Elastic Beanstalk :: Bad Gateway (502)的主要内容,如果未能解决你的问题,请参考以下文章
在 Elastic Beanstalk 环境上部署 ruby on rails 应用程序时出现 AWS 数据库迁移错误
为啥我的 Rails 应用程序无法部署到 AWS Elastic Beanstalk?
无法将 Rails API 应用程序部署到 AWS Elastic Beanstalk
部署 Rails 应用程序 aws elastic beanstalk 时出错