如何使用 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 应用程序的主要内容,如果未能解决你的问题,请参考以下文章