Rails app迁移到AWS Elastic Beanstalk :: Bad Gateway(502)

时间:2015-11-24 21:29:06

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

因此,我正在从Heroku迁移到AWS Elastic Beanstalk并测试水域。我正在关注此文档:

AWS Docs :: Deploy Rails app to AWS

然而,在遵循文档后,我一直收到Bad Gateway 502(错误)。

以下是我的应用的规格:

  • Rails 4.1.8
  • Ruby 2.1.7
  • 服务器Puma

所以我检查了我的/log/nginx/error.log,这就是我所看到的:

  

2015/11/24 06:44:12 [暴击] 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 [warn] 2680#0:在/etc/nginx/nginx.conf:39中重复MIME类型“text / html”     2015/11/24 01:06:55 [warn] 2680#0:0.0.0.0:80上有冲突的服务器名称“localhost”,忽略了

但他们似乎是警告,而不是严厉的停止者。

我应该看一下其他文件吗?

作为另一个参考点,我看过这个SO Post,这似乎暗示我需要启用SSL才能使所有这些工作。

提前致谢!

1 个答案:

答案 0 :(得分:2)

知道了。

在我的'production.rb'中,我有一个force_ssl设置,但我刚刚开始时我没有设置SSL。