为什么 Phusion Passenger 在 docker 容器 运行 一个 ruby 应用程序中大约 60 秒后超时?
Why is Phusion Passenger timing out after roughly 60 seconds within docker container running a ruby app?
我是 运行 一个 ruby 乘客内部的 sinatra 应用程序,在 docker 容器内使用其中一个乘客-docker 图像(phusion/passenger-ruby26) .这个应用程序是一个简单的网络应用程序,可以调用数据库(它不会经常与数据库对话,只有在单击某个按钮时才会调用语句)。我可以很好地启动应用程序并在我的网络应用程序中点击一小段时间,但它总是在正常运行时间大约 60 秒时出错,说:
Could not spawn process for application /home/app/my_app: A timeout occurred while starting a preloader process.
Error ID: 3b9633ef
Error details saved to: /tmp/passenger-error-aFglsc.html
请注意,即使我没有点击任何东西,也会发生这种情况。在 html 文件中指出:
The Phusion Passenger application server tried to start the web application, but this took too much time, so Passenger put a stop to that.
这表明服务器可能资源不足,但我已为其提供无限资源(4 核 2.2GHz、16GB 内存和 4GB 交换空间),这是平均负载(使用的内存为 3%)
这里是 'Problem Location',表明它在 'Load Application' 子进程处出错。
我尝试过的事情:
- 运行 来自 Nginx 的乘客(同样的错误)
- 正在删除我的 ruby 应用程序中的所有标准输出日志记录功能
- 增加passenger_start_timeout
- 确保 folder/file 权限设置正确
- 使用最大化超时和资源的自定义 nginx-config-template 启动 passenger
- 给我的 docker 容器无限资源
尝试了一些我不记得的其他杂项,但也没有证明有效。
有人知道会发生什么吗?如果需要,我会提供更多信息。
使用的版本:
- 乘客 6.0.3
- Ruby 2.6.3
- 辛纳屈 2.0.5
- Docker 18.09.0
运行 MacOS 10.14.6
已解决。结果是我 运行 宁我的 ruby 应用程序两次。在主 app.rb 和 config.ru rackup 配置文件中有两个 运行 myapp 命令实例。在 ruby 项目中应该只有一个实例。
我是 运行 一个 ruby 乘客内部的 sinatra 应用程序,在 docker 容器内使用其中一个乘客-docker 图像(phusion/passenger-ruby26) .这个应用程序是一个简单的网络应用程序,可以调用数据库(它不会经常与数据库对话,只有在单击某个按钮时才会调用语句)。我可以很好地启动应用程序并在我的网络应用程序中点击一小段时间,但它总是在正常运行时间大约 60 秒时出错,说:
Could not spawn process for application /home/app/my_app: A timeout occurred while starting a preloader process.
Error ID: 3b9633ef
Error details saved to: /tmp/passenger-error-aFglsc.html
请注意,即使我没有点击任何东西,也会发生这种情况。在 html 文件中指出:
The Phusion Passenger application server tried to start the web application, but this took too much time, so Passenger put a stop to that.
这表明服务器可能资源不足,但我已为其提供无限资源(4 核 2.2GHz、16GB 内存和 4GB 交换空间),这是平均负载(使用的内存为 3%)
这里是 'Problem Location',表明它在 'Load Application' 子进程处出错。
我尝试过的事情:
- 运行 来自 Nginx 的乘客(同样的错误)
- 正在删除我的 ruby 应用程序中的所有标准输出日志记录功能
- 增加passenger_start_timeout
- 确保 folder/file 权限设置正确
- 使用最大化超时和资源的自定义 nginx-config-template 启动 passenger
- 给我的 docker 容器无限资源
尝试了一些我不记得的其他杂项,但也没有证明有效。
有人知道会发生什么吗?如果需要,我会提供更多信息。
使用的版本:
- 乘客 6.0.3
- Ruby 2.6.3
- 辛纳屈 2.0.5
- Docker 18.09.0
运行 MacOS 10.14.6
已解决。结果是我 运行 宁我的 ruby 应用程序两次。在主 app.rb 和 config.ru rackup 配置文件中有两个 运行 myapp 命令实例。在 ruby 项目中应该只有一个实例。