PM2无法使Node.js应用程序保持在线24/7

问题描述

我认为PM2应该将node.js应用程序保持为24/7。但是,一旦我关闭计算机,我的node.js应用程序(不和谐的bot)就会进入睡眠状态。有人知道该如何解决吗?谢谢。

解决方法

您做错了。

PM2只是一个流程管理器,还有许多其他功能,例如node-demon。因此,在特定情况下,它与您自己的计算机无关。

它可以帮助您在ssh连接之后立即在其他服务器(例如VPS / VDS)上运行/管理您的应用。因此,您应该在此处启动进程,然后,在断开会话连接后,如果使用pm2

,进程将不会关闭

如果您希望Discord机器人24/7正常工作,即使您自己的计算机处于脱机状态,关机等状态,也请查看:

  1. Heroku
  2. Amazon AWS(免费)
  3. GCP(免费)
  4. Microsoft Azure

租用任何服务/ VPS,通过sshsftp连接到它,然后将二进制文件放在这里(如果您应该是node.js项目,然后启动。)。

请不要忘记在远程服务器上运行npm install pm2 -g,并在此操作之前运行npm install

但不是像往常一样通过npm start,而是通过pm2 start [name]

在这种情况下,即使您断开与服务器的连接,pm2仍将管理您的进程,并且您的discord僵尸程序仍处于联机状态。

您可能想通过pm2 monit命令来查看它,它为您提供了这样的输出:enter image description here