node.js - 当 node.js 宕机时,我怎样才能让它自动恢复?

标签 node.js

由于 Node 基本上是一个单一的进程,当出现严重错误时,整个应用程序就会死亡。

我现在有几个基于 express 构建的应用程序,我正在使用一些手动方法来防止停机时间延长( process.on('uncaughtException') 和自定义心跳监视器)。

来自社区的任何建议? 最佳实践?框架?

谢谢! 一个

最佳答案

使用像 forever 这样的东西

或使用 supervisor .

只是 npm link 然后是 sudo supervisor server.js

这些类型的库也支持热重载。您可以从命令行使用一些,它们将 Node 服务作为子进程为您运行。还有其他人希望您编写代码来重新加载自己。

理想情况下,您希望转向故障安全的成熟负载均衡器。如果负载均衡器中的单个 Node 进程崩溃,您希望它安静地重新启动并挽救所有连接和数据。

就我个人而言,我会推荐 supervisor 用于开发(它是由 isaacs 编写的!),并为您的实际生产服务器推荐一个完整的负载均衡器(nginx 或 node)。

当然,您已经在并行运行多个 Node 服务器进程,因为您关心跨多个内核的扩展;)

关于node.js - 当 node.js 宕机时,我怎样才能让它自动恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5668126/

相关文章:

mysql - 如何将 MySQL 数据库中的数据放入 snake case 中,并使用 express 将其放入 ejs 列表中每个项目的值字段中

永远在 Heroku 上的 Node.JS

angularjs - 在 Electron 应用程序中导航 Angular 路线时出现黑屏

node.js - Nodejs App Engine标准env Redis错误读取为ECONNRESET

node.js - 如何在Multer-S3中为AWS-S3存储桶指定上传目录?

javascript - 变量范围 - 本地和全局

node.js - CodeceptJS 在 Ubuntu 上的安装问题

node.js - NodeJs GraphQL 枚举类型值作为动态

javascript - 在 vorpal 应用程序的 »exit« 帮助文本中更改应用程序名称

javascript - 无法捕获 knex 交易拒绝