为什么Passenger 将passenger-error-*.html 文件保存在/tmp 中?

awe*_*ndt 5 diskspace ruby-on-rails passenger

我们其中一台服务器上的磁盘已满。分析表明,大部分空间都浪费在了/tmp.

罪魁祸首是那里的 25,000 多个文件占用了超过 3 个演出,所有这些文件都以模式命名passenger-error-xxxxxx.html。快速检查表明,这是Passenger 在无法启动应用程序时提供的标准错误页面。

根据其中一个文件中的消息,Passenger 无法启动应用程序,因为mysql2gem 丢失并且无法连接到数据库。

从粗略估计,似乎乘客至少为每个请求保留这些文件这是由于 ELB 的健康检查(每 30 秒请求 = 2880reqs/天,Gemfile 在 5 天后修复,应该少于 15,000reqs) .

是否记录了乘客将这些 HTML 文件保存在的任何地方/tmp

为什么这样做?我们的配置有问题吗?

Hon*_*gli 5

乘客作者在这里。每次生成进程失败时,Passenger 都会创建这样一个文件,以便管理员诊断问题。乘客在日志文件中写入一个条目,内容类似于“乘客无法生成进程,请查看 /tmp/passenger-error-xxxx.html 了解详细信息”。

如果您有 25000 多个文件,则仅意味着 Passenger 未能生成您的应用程序 25000 多次。您绝对应该去调查为什么Passenger 未能如此频繁地生成您的应用程序。

  • 恕我直言,“让日志易于阅读”似乎并不是 Hongli 的首要任务。你制作了该死的 HTML 格式,这使得它们几乎无法阅读。到底是什么让您将其设置为在无头机器上无法轻松读取的格式?!(即*所有*网络服务器,或多或少) (3认同)
  • 好吧,如果第一次由于数据库配置错误而没有生成并且我没有再次部署,那么它第二次也不会生成。或者第三。或者第 25,000 个。应用程序服务器不应仅仅因为应用程序从未工作而在周末填充“/tmp”。但我现在认为这是“记录在案的行为”:) (2认同)