在生产机器上部署和运行节点服务器的最佳方法?

时间:2013-08-05 13:42:29

标签: node.js deployment express production-environment webrtc

我使用Webrtc,nodejs,Expressjs作为框架来创建音频,视频和聊天应用程序。我使用 Forever 以便脚本连续运行。

我的应用程序涉及音频,视频和聊天。用户存在起着重要作用。我们需要始终启动并运行系统,避免系统崩溃并重新启动。如果发生这种情况,我们将丢失有关在线用户的所有信息。 需要建议避免此类情况的最佳方法是什么。

此外,在将新功能移至生产服务器时,我们应该考虑哪些步骤,以便应用程序不会停止,从此我们不会丢失用户信息。

如果服务器出现故障或我们不得不将其关闭,该怎么办?可以使用哪些不同的技术,以便我们不会丢失系统中在线用户的状态信息并将其恢复(如有必要)。

1 个答案:

答案 0 :(得分:0)

1)使用节点集群为每个核心分叉多个进程。因此,如果一个进程死亡,另一个进程将自动启动。查看:http://nodejs.org/api/cluster.html

2)使用域来捕获异步操作,而不是使用try-catch或未捕获http://nodejs.org/api/domain.html。我不是说尝试捕捉或未捕获是不好的想法!

3)使用forever / supervisor监控您的服务

4)添加守护程序以运行您的节点应用程序:http://upstart.ubuntu.com

希望这有帮助!

我也在这篇文章中回答:How do I prevent node.js from crashing? try-catch doesn't work