Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
nginx用作运行 nodejs 应用程序的服务器中的反向代理。pm2节点模块用于启动应用程序。当必须部署 nodejs 应用程序的新版本时,我想启动最新 node 应用程序的新实例,并且所有新传入的请求都应该由这个新的 nodejs 应用程序实例提供服务。
一旦所有现有请求(即在新的 nodejs 应用程序启动之前连接)断开连接,旧的 nodejs 应用程序实例应该退出。
如何获得这种设置。
您需要使用 pm2 将 node.js 服务器作为集群运行pm2 start app.js -i max。当签出新代码时,只需运行pm2 reload all它,它将重新加载您的应用程序,停机时间为 0 秒。
pm2 start app.js -i max
pm2 reload all
这个怎么运作?
它会在您的新代码运行时启动新工作人员,并告诉您的旧工作人员停止监听新连接,并在他们完成当前请求(如果有)时关闭自己。