gpt4 book ai didi

node.js - 如何更新正在运行的 Node.js 服务器?

转载 作者:搜寻专家 更新时间:2023-10-31 22:36:48 24 4
gpt4 key购买 nike

据我所知,Node.js 服务器基本上是一个 JavaScript 文件,由 node 可执行文件运行。是否可以在不停止请求处理的情况下更新此文件?

我想 Node 可执行文件必须为此停止,所以我认为我应该使用反向代理。例如:

  1. 原始服务器版本在 localhost:50001 上监听
  2. 代理服务器在 webinterface:80 上监听请求并将它们转发到 localhost:50001
  3. 新服务器版本应在 localhost:50002 上启动
  4. 代理服务器转发目标应更改为 localhost:50002
  5. 应停止原始服务器版本

这是一种有效的方法吗?这样的版本更新如何在多台服务器机器(可从同一 LAN 访问)上自动完成?

最佳答案

另一种“纯 Node ”解决方案是使用内置的 cluster模块:

您的代码作为(许多)一个集群客户端运行。集群服务器进程绑定(bind)到端口并在客户端之间进行自动负载平衡。更改代码后,您可以向集群服务器发送信号,它会优雅地重启您的客户端,而不会断开任何现有连接。

以下是一些可以为您管理集群服务器的项目:

优点:

  • 堆栈中的组件更少。 (更易于部署/管理。)
  • 可以自动为 CPU 上的每个核心启动一个 Node 进程,因此您的程序可以充分利用底层硬件。
  • 无需学习nginx的配置语法

关于node.js - 如何更新正在运行的 Node.js 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13357662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com