如何自动重启节点服务器?

fab*_*ous 30 restart upstart node.js

我们正在完成一个项目的开发,客户端已经在使用它,但偶尔会出现一些错误 - 崩溃服务器.

我知道我可以在linux上注册一个服务作为'upstart'脚本,以便在崩溃时重启我的节点服务.

但我们的服务器运行其他东西,所以我们无法重启它.好吧,实际上,在写作的时候,我意识到我有两个问题:

  • 'upstart'工作而不必重启吗?有些东西只是对我说悄悄话:)
  • 如果没有,我的节点服务器崩溃时还有什么其他选项可以'重新生成'?

Dan*_*iel 44

是的,upstart将重新启动您的进程而无需重新启动.

此外,你应该永远研究.

  • Joyent的错误处理指南不鼓励全局错误处理程序:https://www.joyent.com/developers/node/design/errors.如果某些未知错误导致异常,最好使应用程序崩溃(并重新启动它),而不是将其置于错误状态,这将导致更难以调试的错误. (4认同)

Tou*_*umi 13

PM2是Node.js应用程序的生产流程管理器.


Fra*_*sco 5

如果您的自动重启重点是始终运行的应用程序,我建议使用进程管理器。一般来说,进程管理器处理节点进程(如果启用了集群),并负责进程的执行。PM 依赖于操作系统:你的节点应用程序和操作系统并没有那么严格地链接,因为 pm 位于中间。

最后一招:把流程经理放在暴发户身上。

是一个完整的性能改进路径。