Node.js 后台启动 forever(永恒) 简单用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js 后台启动 forever(永恒) 简单用法相关的知识,希望对你有一定的参考价值。

参考技术A ssh链接云服务器,启动node index.js,这种方法,会在你退出终端就停止了。 所以我们需要用forever来帮助我们开启后台守护进程。forever(永恒)单词意思有诗意 😊

用forever能处理更多的事情,比如宕机重启,热部署,日志记录等常用的功能。
git forever地址: https://github.com/foreverjs/forever

个人博客: http://www.liangtongzhuo.com

如何使用 Forever 和 Nodemon (Windows) 自动重启 Node.js 应用程序

【中文标题】如何使用 Forever 和 Nodemon (Windows) 自动重启 Node.js 应用程序【英文标题】:How can I automatically restart a Node.js application using Forever and Nodemon (Windows) 【发布时间】:2018-09-15 21:31:41 【问题描述】:

我正在 Windows 中运行 node.js 应用程序,如果代码中存在导致应用程序停止的未处理异常,我希望它自动重新启动。

我做了一些研究,发现“Forever”和“Nodemon”的组合可以实现这个目标。

我在我的 Windows 10 设备上全局安装了这两个软件包。

npm install forever -g
npm install -g nodemon

我尝试使用以下命令来启动我的应用程序:

forever start nodemon --exitcrash app.js

但是,我收到以下错误:“nodemon 不存在”

如果尝试仅运行“nodemon”应用程序启动,这表明 Nodemon 包已安装,但是,这将不允许应用程序在崩溃后重新启动。

我做错了吗?我在网上找到的大多数建议只与 Linux 系统有关。

【问题讨论】:

【参考方案1】:

如果您已经永远使用,那么您可以摆脱 nodemon。相反,您可以使用 forever 和 cluster 模块的组合。只需 fork 工作线程以防异常,它也使您的应用更具可扩展性!

如果还是 nodemon 更可取,可以尝试使用 -g 标志全局安装它

【讨论】:

没有要求集群。【参考方案2】:

Forever 和 nodemon 实现了两个完全不同的目标

nodemon 用于在开发模式下运行您的应用程序,在这种情况下您会频繁更改代码,需要重新启动服务器。它不会在崩溃的情况下重新启动您的应用程序。稍后会详细介绍

另一方面,Forever 是为了让您的应用程序在生产环境中作为守护进程运行。如果您有未捕获的异常,则自动重新启动。

从历史上看,人们一直单独使用 Forever,或者与新贵脚本一起使用,作为 linux 服务运行,其中最著名的是 upstart

目前的规范是使用PM2

【讨论】:

以上是关于Node.js 后台启动 forever(永恒) 简单用法的主要内容,如果未能解决你的问题,请参考以下文章

forever让node.js持久运行

利用forever在Linux上实现Node.js项目自启动

node --- 服务一直启动

node.js后台快速搭建在阿里云(pm2和nginx篇)

使用forever让node.js持久运行

Node.js-forever