1

nginx用作运行 nodejs 应用程序的服务器中的反向代理。pm2节点模块用于启动应用程序。当必须部署 nodejs 应用程序的新版本时,我想启动最新 node 应用程序的新实例,并且所有新传入的请求都应该由这个新的 nodejs 应用程序实例提供服务。

一旦所有现有请求(即在新的 nodejs 应用程序启动之前连接)断开连接,旧的 nodejs 应用程序实例应该退出。

如何获得这种设置。

4

1 回答 1

3

您需要使用 pm2 将 node.js 服务器作为集群运行pm2 start app.js -i max。当签出新代码时,只需运行pm2 reload all它,它将重新加载您的应用程序,停机时间为 0 秒。

这个怎么运作?

它会在您的新代码运行时启动新工作人员,并告诉您的旧工作人员停止监听新连接,并在他们完成当前请求(如果有)时关闭自己。

于 2014-10-16T14:53:35.223 回答