【问题标题】:How to run node js using forever without stopping?如何在不停止的情况下永远运行节点 js?
【发布时间】:2020-11-22 04:48:07
【问题描述】:

我正在使用节点 js 在我的应用程序中运行聊天服务器。我已经永远安装在服务器上。通常,我通过以下命令永久使用节点:

forever start server.js &

问题是 javascript 文件在一段时间后停止运行。它在终端中显示以下内容:

Write failed: Broken pipe

当我再次登录到我的服务器并输入启动命令时,节点会继续运行。即使在我的本地会话被注销后,我应该使用什么命令来保持永远运行?

【问题讨论】:

标签: javascript node.js


【解决方案1】:

要将脚本作为后台任务无限运行,您需要进程管理器工具。 PM2 是我最喜欢用 nodejs 制作的进程管理器工具,但它可以运行任何终端任务,因为它是一个 CLI。

  1. 基本上,你可以安装 NodeJs 和 npm 来达到 pm2。 (您可以访问NodeJs.org下载安装程序。)

  2. 您需要在终端上使用 npm install -g pm2 将 pm2 安装为全局模块

  3. 你可以通过pm2 -v简单检查是否安装

  4. 然后你可以在你的终端上使用pm2 start file_name.js启动你的nodejs脚本

  5. 它将在后台创建一个线程来运行您的脚本,并且它将永远重新启动。

  6. 如果您正在做一些耗时的事情并且您不想看到终端上运行的任务,您可以通过在命令中添加参数 --no-autorestart 来禁用重新启动。 (#pm2 start file_name.js --no-autorestart)

  7. 如果您想查看日志或任务状态,可以使用pm2 statuspm2 logspm2 monit

  8. 如果要停止任务,可以使用pm2 stop task_name

  9. 您可以使用pm2 reload allpm2 update 重新启动所有任务

  10. 您可以使用pm2 kill 终止任务

欲了解更多信息,您可以访问PM2 Documentation

【讨论】:

    【解决方案2】:

    假设您在某个 Linux 系统上,您可以使用 screen。这非常简单。

    那里有很多教程,只是谷歌'screen linux'

    【讨论】:

      猜你喜欢
      • 2019-07-14
      • 2014-11-06
      • 1970-01-01
      • 1970-01-01
      • 2020-01-20
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 2013-09-22
      相关资源
      最近更新 更多