Pm2模式集群项目下14次无限重载

问题描述 投票:0回答:1

我有一个 Next 14 项目在 PM2 上以集群模式运行,我的 VPS 有 4 个 vCPU,当仅启动一个进程时稳定,而其他三个进程处于无限重新加载。下面是我的ecosystem.config.js配置文件。

module.exports = {
  apps: [
    {
      name: "application",
      script: "npm",
      exec_mode: "cluster",
      instances: "max",
      args: "start",
      env: {
        NODE_ENV: "production",
        PORT: 5000
      },
    },
  ],
};

pm2版本:5.3.1

enter image description here

enter image description here

在最后一张图中,三个集群重新启动了 24 次

即使问题仍然存在,我也使用了 max_memory_restart,VPS 有 6GB RAM。

pm2 日志

PM2      | App [application:3] online
0|application  | > [email protected] start
0|application  | > next start
PM2            | App name:application id:1 disconnected
PM2            | App [application:1] exited with code [1] via signal [SIGINT]
PM2            | App [application:1] starting in -cluster mode-
PM2            | App [application:1] online
PM2            | App name:application id:0 disconnected
PM2            | App [application:0] exited with code [1] via signal [SIGINT]
PM2            | App [application:0] starting in -cluster mode-
PM2            | App [application:0] online
3|application  | > [email protected] start
3|application  | > next start
1|application  | > [email protected] start
1|application  | > next start
PM2            | App name:application id:3 disconnected
PM2            | App [application:3] exited with code [1] via signal [SIGINT]
PM2            | App [application:3] starting in -cluster mode-
PM2            | App [application:3] online
0|application  | > [email protected] start
0|application  | > next start
PM2            | App name:application id:1 disconnected
PM2            | App [application:1] exited with code [1] via signal [SIGINT]
PM2            | App [application:1] starting in -cluster mode-
PM2            | App [application:1] online
PM2            | App name:application id:0 disconnected
PM2            | App [application:0] exited with code [1] via signal [SIGINT]
PM2            | App [application:0] starting in -cluster mode-
PM2            | App [application:0] online
3|application  | > [email protected] start
3|application  | > next start
1|application  | > [email protected] start
1|application  | > next start
PM2            | App name:application id:3 disconnected
PM2            | App [application:3] exited with code [1] via signal [SIGINT]
PM2            | App [application:3] starting in -cluster mode-
PM2            | App [application:3] online

node.js next.js vps pm2 production
1个回答
0
投票

解决方案:

module.exports = {
  apps: [
    {
      name: "application",
      script: "./node_modules/next/dist/bin/next", // changed
      exec_mode: "cluster",
      instances: "max",
      args: "start",
      env: {
        NODE_ENV: "production",
        PORT: 5000
      },
    },
  ],
};

© www.soinside.com 2019 - 2024. All rights reserved.