现在有个问题是,我用 PM2 启动我的 node web 项目,配合 nginx 进行访问
但是我每次 PM2 reload 的时候,会有部分用户出现 502 的情况
我个人觉得是 node 和 nginx 超时时间不一致,但是我设置成一样的也还是没用,后来又添加了多端口负载,依旧还是没用
我猜测是由用户访问服务,然后我同步更新了,导致了 502 把?求助各位大佬,有什么解决方案吗?
1
ysc3839 2023-05-25 21:52:16 +08:00 via Android
是 Node.js 部分启动慢吧
|
3
April5 2023-05-25 22:29:38 +08:00
我猜是 NGINX keep alive ,然后连接复用继续请求你的 node 服务,但发现上游服务停了。
NGINX 配置 proxy_next_upstream 试试将请求转发到其他节点。 |
4
isbase 2023-05-25 22:31:27 +08:00
Docker 也可以 zero downtime deployment
|
5
Masoud2023 2023-05-26 09:24:51 +08:00
启动多个 node 实例,nginx 负载均衡,不要同时启停所有 node 实例
|
6
121819756 OP @Masoud2023 这个法子我试过了。我起了 2 个端口做负载,但是实际有的用户已经在 1 上面了,会一直连接直到超时,然后就会 502
|
8
cccchg 2023-05-29 15:14:58 +08:00
什么业务 启动这么慢
|
10
Pythoner666666 2023-06-06 10:20:15 +08:00
cluster
|