pm2进程停止运行

Joh*_*han 9 ubuntu nginx node.js forever pm2

我有一个节点聊天应用程序需要在我的服务器(带有 nginx 的 ubuntu)上保持运行。问题是应用程序会在几小时或几天后停止。当我检查服务器时,我发现我的 pm2 列表是空的。

我用来启动我的应用程序的代码:

pm2 start notification_server/index.js
Run Code Online (Sandbox Code Playgroud)

不知何故,似乎 pm2 在一段时间后被重置。我也尝试过使用forever,但后来遇到了同样的问题。有什么方法可以防止 pm2 列表变空吗?

小智 9

这很可能表明您的服务器正在重新启动。当您的服务器重新启动时,PM2 将关闭并从其“状态”列表中删除所有 Node 实例。

您可以执行以下步骤,使 PM2 重新启动您的 Node 程序,并在重新启动时启动备份:

  1. 运行pm2 startup并按照说明进行操作(您必须执行sudo命令;PM 会确切地告诉您要做什么)。
  2. 通过pm2 start,让您的 Node 进程像您喜欢的那样启动并运行。
  3. 运行pm2 save以将当前状态注册为您希望在系统启动时看到的状态。

来源: http: //pm2.keymetrics.io/docs/usage/startup/


jku*_*lak 6

您是否尝试检查$ pm2 logs应用程序的日志?

它很可能会告诉您应用程序为何被终止,或者它只是按预期退出。你可以在那里找到类似的东西:

PM2 | App [app] with id [0] and pid [11982], exited with code [1] via signal [SIGINT]

这可以告诉你发生了什么。如果没有更多细节,很难给你更好的答案。