pm2几个小时后守护进程死亡

时间:2019-04-29 02:17:41

标签: node.js pm2 pm2-logrotate

我有一个Node.js / Express应用程序,该应用程序实现了一组REST API,并且我试图使用pm2来管理其部署。该应用程序可以正常启动(使用pm2 start ecosystem.config.js并可以使用几个小时,但是pm2守护程序最终总是死掉,日志中没有任何错误。

一些注意事项:

  • 我正在CentOS 7共享托管环境中运行。
  • /var/log目录为空,journalctl不返回任何条目。
  • 我已经确认系统没有重新启动。
  • 我安装的唯一pm2模块是pm2-logrotate
  • 我正在捕获并记录SIGINTSIGTERMSIGQUITSIGABRT信号,但这种逻辑似乎从未受到打击(如果我运行{ {1}}。
  • 如果我运行pm2 stop,它将重新启动守护程序并显示一个空的应用程序列表。

这是我的pm2 list

ecosystem.config.js

这里是module.exports = { apps: [ { kill_timeout: 60000, listen_timeout: 10000, log: 'logs/my-app.log', name: 'my-app', script: 'dist/index.js', wait_ready: true, instances: 1, autorestart: true, watch: false, max_memory_restart: '1G', env: { NODE_ENV: 'development' }, env_production: { NODE_ENV: 'production' } } ] };

pm2.log

这里是2019-04-24T19:20:24: PM2 log: =============================================================================== 2019-04-24T19:20:24: PM2 log: --- New PM2 Daemon started ---------------------------------------------------- 2019-04-24T19:20:24: PM2 log: Time : Wed Apr 24 2019 19:20:24 GMT-0700 (Mountain Standard Time) 2019-04-24T19:20:24: PM2 log: PM2 version : 3.5.0 2019-04-24T19:20:24: PM2 log: Node.js version : 10.5.0 2019-04-24T19:20:24: PM2 log: Current arch : x64 2019-04-24T19:20:24: PM2 log: PM2 home : /home/myuser/.pm2 2019-04-24T19:20:24: PM2 log: PM2 PID file : /home/myuser/.pm2/pm2.pid 2019-04-24T19:20:24: PM2 log: RPC socket file : /home/myuser/.pm2/rpc.sock 2019-04-24T19:20:24: PM2 log: BUS socket file : /home/myuser/.pm2/pub.sock 2019-04-24T19:20:24: PM2 log: Application log path : /home/myuser/.pm2/logs 2019-04-24T19:20:24: PM2 log: Process dump file : /home/myuser/.pm2/dump.pm2 2019-04-24T19:20:24: PM2 log: Concurrent actions : 2 2019-04-24T19:20:24: PM2 log: SIGTERM timeout : 1600 2019-04-24T19:20:24: PM2 log: =============================================================================== 2019-04-24T19:20:24: PM2 log: App [pm2-logrotate:0] starting in -fork mode- 2019-04-24T19:20:24: PM2 log: App [pm2-logrotate:0] online 2019-04-24T19:20:24: PM2 log: App [my-app:1] starting in -fork mode- 2019-04-24T19:20:28: PM2 log: App [my-app:1] online

pm2-logrotate-out.log

您知道是什么原因导致此问题或如何进一步调试吗?

1 个答案:

答案 0 :(得分:0)

事实证明,这是由我的托管服务提供商强加的资源限制引起的。我仍然对为什么什么都没记录来指示发生了什么感到困惑,但是由于找到了根本原因,所以我将其标记为已回答。