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

Posted

技术标签:

【中文标题】如何自动重启节点服务器?【英文标题】:how to automatically restart a node server? 【发布时间】:2013-05-09 00:26:27 【问题描述】:

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

我知道我可以在 linux 上将服务注册为“upstart”脚本,以便在我的节点服务崩溃时重新启动它。

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

'upstart' 是否可以在不重新启动的情况下工作?有些东西只是对我低声说是:) 如果不是,当我的节点服务器崩溃时,我还有什么其他选项可以“重生”我的节点服务器?

【问题讨论】:

【参考方案1】:

是的,upstart 将在不重新启动的情况下重新启动您的进程。

另外,您应该查看forever。

【讨论】:

joyent 的错误处理指南不鼓励使用全局错误处理程序:joyent.com/developers/node/design/errors。如果某些未知错误导致异常,最好让应用程序崩溃(然后重新启动),而不是让它处于导致更多难以调试的错误的糟糕状态。 是的。当我发布这个答案时,我没有意识到这一点。感谢您指出。我会删除它。【参考方案2】:

PM2 是 Node.js 应用的生产流程经理。

【讨论】:

【参考方案3】:

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

最后一招:让流程管理器成为新贵。

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

【讨论】:

以上是关于如何自动重启节点服务器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spark Streaming 中自动重启故障节点?

如何使用 nodejs 和 typescript 自动重启节点应用程序?

如何修改java类不自动重启服务

如何自动重启 GCE 抢占式实例?

linux服务器总是自动重启怎么解决

安卓service关闭后怎么自动重启