【问题标题】:AWS Elastic Beanstalk Ruby on Rails 6 app deployment error with nginxAWS Elastic Beanstalk Ruby on Rails 6 应用程序部署错误与 nginx
【发布时间】:2021-04-09 04:11:36
【问题描述】:

我使用 Elastic Beanstalk Ruby 平台部署了一个 Rails 6 应用程序,尝试访问该应用程序时收到 502。 Nginx错误日志有如下错误...

connect() 到 unix:///var/run/puma/my_app.sock 失败(11:资源 暂时不可用)同时连接到上游,客户端: XXX.XX.XX.XX,服务器:_,请求:“GET / HTTP/1.1”,上游: “http://unix:///var/run/puma/my_app.sock:/”,主机:“XXX.XX.XX.XX”

可能是什么问题?超出资源限制?

【问题讨论】:

  • 您能否通过 ssh 进入 eb 实例并在其端口上 curl 您的应用程序并在端口 80 上使用 nginx 来确认应用程序是否正常工作?
  • @Marcin 请原谅我的 n00bness,但这只是在 env-name.id.region.elasticbeanstalk.com url 上使用 :80 和 :3000 (默认 Rails 端口)执行curl附加?
  • 从实例中它将是 curl localhost:80curl localhost:3000
  • @Marcin 一个线索!端口 80 curl 返回 502 页面,但 3000 curl 返回“无法连接到 localhost 端口 3000:连接被拒绝”。 Elastic Beanstalk 是否不会在部署时启动 rails 服务器?感谢您迄今为止的所有帮助!
  • 我明白了。 ruby 通过套接字部署。你可以试试curl --unix-socket /var/run/puma/my_app.sock http:/hi

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


【解决方案1】:

检查/var/log/puma/puma.log,可能会发现You have already activated puma 5.2.2, but your Gemfile requires puma 4.x等错误信息。如果是这种情况,请确保您的 Gemfile 和 Gemfile.lock 指定在基于 Amazon Linux 2 的新 Ruby EB 平台上可用的 Puma 版本。

【讨论】:

    猜你喜欢
    • 2020-06-05
    • 2018-12-03
    • 2012-04-05
    • 2017-03-04
    • 2012-09-24
    • 2020-07-26
    • 2018-08-26
    • 2015-07-06
    • 2020-03-07
    相关资源
    最近更新 更多