121819756
V2EX  ›  Node.js

求助帖: PM2 + Nginx

  •  
  •   121819756 · May 25, 2023 · 3323 views
    This topic created in 1107 days ago, the information mentioned may be changed or developed.

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

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

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

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

    10 replies    2023-06-06 10:20:15 +08:00
    ysc3839
        1
    ysc3839  
       May 25, 2023 via Android
    是 Node.js 部分启动慢吧
    121819756
        2
    121819756  
    OP
       May 25, 2023
    @ysc3839 是的,有时候重启了一分钟,有时候很快,您知道为啥吗?如何解决
    April5
        3
    April5  
       May 25, 2023
    我猜是 NGINX keep alive ,然后连接复用继续请求你的 node 服务,但发现上游服务停了。
    NGINX 配置 proxy_next_upstream 试试将请求转发到其他节点。
    isbase
        4
    isbase  
    PRO
       May 25, 2023
    Docker 也可以 zero downtime deployment
    Masoud2023
        5
    Masoud2023  
       May 26, 2023
    启动多个 node 实例,nginx 负载均衡,不要同时启停所有 node 实例
    121819756
        6
    121819756  
    OP
       May 26, 2023
    @Masoud2023 这个法子我试过了。我起了 2 个端口做负载,但是实际有的用户已经在 1 上面了,会一直连接直到超时,然后就会 502
    121819756
        7
    121819756  
    OP
       May 26, 2023
    @isbase docker 确实解万愁
    cccchg
        8
    cccchg  
       May 29, 2023
    什么业务 启动这么慢
    121819756
        9
    121819756  
    OP
       May 29, 2023
    @cccchg 就是类似于抽奖的活动页面,我在想是不是并发太高了,导致 reload 会慢。
    Pythoner666666
        10
    Pythoner666666  
       Jun 6, 2023
    cluster
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2870 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 09:45 · PVG 17:45 · LAX 02:45 · JFK 05:45
    ♥ Do have faith in what you're doing.