Node.js服务器的永久进程不是一直运行

时间:2015-08-10 11:56:55

标签: node.js npm ubuntu-14.04

我正在为Node.js服务器运行一个永久的进程,但是一天后服务器停止进程。我的服务器在Ubuntu平台上运行。我做了以下过程:

首先我安装了npm install forever并运行了命令forever start server.js。我需要服务器一直运行但有一天后我看到服务器停止工作。

请帮我解决此问题。

1 个答案:

答案 0 :(得分:1)

我建议您尝试使用PM2。这是我写的关于它的简短教程:http://www.nikola-breznjak.com/blog/nodejs/using-pm2-to-run-your-node-js-apps-like-a-pro/

修改 根据StackOverflow的政策,我还包括帖子中的内容:

手动运行Node.js应用程序,不是我们推出的方式。想象一下每次发生事情时重新启动应用程序,或者上帝禁止应用程序在半夜崩溃,你只能在早上找到它 - 恐怖啊。 PM2解决了这个问题:

  • 允许您永久保存应用程序
  • 无需停机即可重新加载应用程序
  • 促进常见的系统管理任务

要安装PM2,请运行以下命令:

sudo npm install pm2 -g

要使用PM2启动流程,请运行以下命令(一次在应用程序的根目录中):

pm2 start server.js

从下图所示的输出中可以看出,PM2会自动分配一个App名称(基于文件名,不带.js扩展名)和PM2 id。 PM2还维护其他信息,例如进程的PID,其当前状态和内存使用情况。

正如我之前提到的,如果应用程序崩溃或被杀死,PM2下运行的应用程序将自动重启,但需要采取额外步骤让应用程序在系统启动(启动或重启)时启动。执行此操作的命令如下:

pm2 startup ubuntu

此命令的输出将指示您执行另一个命令,该命令将启用启动或重新启动时的实际启动。在我的例子中,附加命令的注释是:

sudo env PATH=$PATH:/usr/local/bin pm2 startup ubuntu -u nikola