我即将开始一个使用 Node、Express 和 Mongo 的项目,但我必须首先解决一个重要问题。
假设我有一个正在运行的应用程序。迟早,我会再次编码并想要部署更改。到目前为止,我只在开发模式下工作,所以执行 ^C 并重新启动服务器不是问题。
在生产中怎么样?显然我不能同时破坏服务器和所有用户。有没有什么方法可以在不中断服务的情况下部署更改?
我研究过 upstart 和类似的系统,但它并没有解决问题(或者我错过了什么?)。我目前正在考虑构建一种故障转移,但肯定有人在我之前做过……
最佳答案
好吧,我可能会使用像 nginx 这样的反向代理:低内存占用,能够处理大量同时连接,并在我最终拥有多个服务器时支持故障转移。
有了这个 nginx 反向代理,我可以使用更新的源启动一个新的 Node 进程,让 nginx 切换到新的 Node 并丢弃旧版本。
这也将允许我在服务器上保留以前版本的应用程序,以防新版本过早崩溃......
关于node.js - 如何在不中断服务的情况下部署更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11168927/