node.js - 如何在不中断服务的情况下部署更改?

标签 node.js deployment express

我即将开始一个使用 Node、Express 和 Mongo 的项目,但我必须首先解决一个重要问题。

假设我有一个正在运行的应用程序。迟早,我会再次编码并想要部署更改。到目前为止,我只在开发模式下工作,所以执行 ^C 并重新启动服务器不是问题。

在生产中怎么样?显然我不能同时破坏服务器和所有用户。有没有什么方法可以在不中断服务的情况下部署更改?

我研究过 upstart 和类似的系统,但它并没有解决问题(或者我错过了什么?)。我目前正在考虑构建一种故障转移,但肯定有人在我之前做过……

最佳答案

好吧,我可能会使用像 nginx 这样的反向代理:低内存占用,能够处理大量同时连接,并在我最终拥有多个服务器时支持故障转移。

有了这个 nginx 反向代理,我可以使用更新的源启动一个新的 Node 进程,让 nginx 切换到新的 Node 并丢弃旧版本。

这也将允许我在服务器上保留以前版本的应用程序,以防新版本过早崩溃......

链接: http://nginx.org/en/docs/control.html

关于node.js - 如何在不中断服务的情况下部署更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11168927/

相关文章:

javascript - Express js路由错误("Cannot GET/")

node.js - Kibana - 无法在 Windows 10 上启动 kibana

java - 部署 WAR 时为空指针

mysql - Expressjs session : undefined sessionid

node.js - 为什么需要使用 express static

node.js - 使用 npm 安装模块时出现符号链接(symbolic link)错误

node.js - Socket.io 作为客户端进行身份验证

php - RabbitMQ + PHP部署攻略

java - 无法使用 native bundle exe 启动 JavaFX 应用程序

node.js - Mongoose:如何从express.js应用程序中的上限集合中获取数据?