为什么Phusion Passenger在运行ruby应用程序的docker容器中大约60秒后超时?

问题描述 投票:0回答:1

[我正在使用docker-passenger图像(phusion / passenger-ruby26)之一在docker容器内的乘客体内运行ruby sinatra应用。该应用程序是一个简单的Web应用程序,用于调用数据库(它不会经常与数据库对话,仅当单击某个按钮时才会调用语句)。我可以很好地启动该应用程序,然后在我的Web应用程序中单击一小段时间,但是它总是会在大约60秒的正常运行时间内出现错误:

无法生成应用程序/ home / app / my_app的进程:启动预加载器进程时发生超时。

错误ID:3b9633ef

错误详细信息保存到:/tmp/passenger-error-aFglsc.html

请记住,即使我没有点击任何按钮,也会发生这种情况。在html文件中,它指出:

The Phusion Passenger应用程序服务器尝试启动Web应用程序,但是这花费了太多时间,因此Passenger对此停止了。

[这表明服务器可能资源不足,但我给它提供了无限的资源(4核心2.2GHz,16GB内存和4GB交换空间,这是平均负载(使用的内存为3%)]

load averages

这里是“问题位置”,表明它在“加载应用程序”子过程中出错了。

problem location

我尝试过的事情:

  • Nginx的运行乘客(相同错误)
  • 删除我的ruby应用程序中的所有标准输出日志记录功能
  • 增加passenger_start_timeout
  • 确保正确设置文件夹/文件特权
  • 使用最大化超时和资源的自定义nginx-config-template开始乘客
  • 给我的Docker容器无限的资源

尝试过一些我不记得的其他杂项,但是这些杂项也都没有证明有效。

有人知道发生了什么吗?如果需要,我将提供更多信息。

使用的版本:

  • 乘客6.0.3
  • Ruby 2.6.3
  • Sinatra 2.0.5
  • Docker 18.09.0

在MacOS 10.14.6上运行

ruby docker passenger
1个回答
0
投票

已解决。原来是我运行了红宝石应用两次。在主app.rb和config.ru rackup配置文件中有两个运行myapp命令的实例。在ruby项目中应该只有一个实例。

© www.soinside.com 2019 - 2024. All rights reserved.