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

求助帖: PM2 + Nginx

  •  
  •   121819756 · 329 天前 · 1919 次点击
    这是一个创建于 329 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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