在渲染HTML后,Puma出现“终止超时工作程序”的问题。

16

我对AWS Beanstalk-Rails-Puma-Nginx不熟悉。将我的RAILS应用程序部署到Beanstalk后,所有API调用都正常工作,但HTML页面会导致错误。

打开我的HTML页面时 -

  1. Nginx抛出502 Bad Gateway错误。
  2. Puma日志:
    Started GET "/admin" for 182.70.76.160 at 2016-04-22 05:13:19 +0000 Processing by Devise::SessionsController#new as HTML Rendered devise/sessions/new.html.erb within layouts/application (6.1ms) [18858] ! Terminating timed out worker: 22913
  3. var/app/current/production.log为空。

在某个地方看到,添加SSL可以解决问题。必须添加SSL吗?

请帮忙!我被卡住了!

状态:我的资源很大,因此它正在消耗自身。我使用一个主题并删除了所有不必要的js、css和图像。

现在,Puma没有终止,但它没有编译资源。我选择了Ruby作为应用程序类型,所以它应该为我做到这一点,对吗?

2个回答

14

尝试在puma配置中将工作程序超时设为更高的值。默认值为60秒。

worker_timeout 100

有可能您正在创建的工作程序数量超过了服务器的处理能力。尝试减少工作程序数量或增加服务器容量。


1
嗨,Sebin!我尝试了这个,但是不起作用。我只有两个工人在运行,所以我不认为那是问题。 - Disha
你尝试过其他日志文件并获取更多信息吗?我不知道你的部署设置,但对于我来说,我有puma访问和错误日志。 - Sebin
是的!我有。但是没有线索。如果您想要关于任何日志的更多信息,请告诉我。 - Disha
如果任何日志中有任何错误追踪,请在问题中更新它。另外,我建议您尝试使用一个工作人员。 - Sebin
我尝试了一个工作进程,但没有成功。我正在更新我的问题状态。 - Disha

7

目前,由于EBS问题得不到解决,我已经转移到EC2上了。虽然我在EC2上也遇到了同样的问题,但是我可以通过访问我的机器来解决它。

Puma工作进程超时,因为我的资产没有预编译。每当我在服务器上进行新构建时,我都必须运行以下命令:

RAILS_ENV=production rake assets:precompile

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接