V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
121819756
V2EX  ›  Node.js

求助帖: PM2 + Nginx

  •  
  •   121819756 · 2023-05-25 21:43:54 +08:00 · 2245 次点击
    这是一个创建于 576 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在有个问题是,我用 PM2 启动我的 node web 项目,配合 nginx 进行访问

    但是我每次 PM2 reload 的时候,会有部分用户出现 502 的情况

    我个人觉得是 node 和 nginx 超时时间不一致,但是我设置成一样的也还是没用,后来又添加了多端口负载,依旧还是没用

    我猜测是由用户访问服务,然后我同步更新了,导致了 502 把?求助各位大佬,有什么解决方案吗?

    10 条回复    2023-06-06 10:20:15 +08:00
    ysc3839
        1
    ysc3839  
       2023-05-25 21:52:16 +08:00 via Android
    是 Node.js 部分启动慢吧
    121819756
        2
    121819756  
    OP
       2023-05-25 21:54:02 +08:00
    @ysc3839 是的,有时候重启了一分钟,有时候很快,您知道为啥吗?如何解决
    April5
        3
    April5  
       2023-05-25 22:29:38 +08:00
    我猜是 NGINX keep alive ,然后连接复用继续请求你的 node 服务,但发现上游服务停了。
    NGINX 配置 proxy_next_upstream 试试将请求转发到其他节点。
    isbase
        4
    isbase  
       2023-05-25 22:31:27 +08:00
    Docker 也可以 zero downtime deployment
    Masoud2023
        5
    Masoud2023  
       2023-05-26 09:24:51 +08:00
    启动多个 node 实例,nginx 负载均衡,不要同时启停所有 node 实例
    121819756
        6
    121819756  
    OP
       2023-05-26 09:38:57 +08:00
    @Masoud2023 这个法子我试过了。我起了 2 个端口做负载,但是实际有的用户已经在 1 上面了,会一直连接直到超时,然后就会 502
    121819756
        7
    121819756  
    OP
       2023-05-26 09:39:21 +08:00
    @isbase docker 确实解万愁
    cccchg
        8
    cccchg  
       2023-05-29 15:14:58 +08:00
    什么业务 启动这么慢
    121819756
        9
    121819756  
    OP
       2023-05-29 16:40:38 +08:00
    @cccchg 就是类似于抽奖的活动页面,我在想是不是并发太高了,导致 reload 会慢。
    Pythoner666666
        10
    Pythoner666666  
       2023-06-06 10:20:15 +08:00
    cluster
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2935 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 13:36 · PVG 21:36 · LAX 05:36 · JFK 08:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.