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

Posted

技术标签:

【中文标题】如何使用 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

【讨论】:

以上是关于如何使用 Forever 和 Nodemon (Windows) 自动重启 Node.js 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

[转] nodemon 基本配置与使用

错误:EACCES:权限被永远拒绝

转)nodejs后台启动方式PM2

oh forever love~

无法让 TypeScript 监视我的项目和 nodemon 重新加载它

如何在 JSX 中使用 nodemon?