You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级服务器后,如何让Next.js项目通过PM2指定端口运行?

解决Next.js项目通过PM2指定端口运行的问题

核心原因

PM2的ecosystem.config.js配置优先级高于package.json里的start命令,若配置文件未明确指定端口或对应启动逻辑,会直接忽略package.json的端口设置,沿用Next.js默认的3000端口。

具体修复方法

方法1:在ecosystem.config.js中指定启动命令

修改ecosystem.config.js,在目标项目的配置项里明确调用你在package.json中定义的start命令,或直接写完整启动语句:

module.exports = {
  apps : [{
    name: 'your-second-next-app',
    script: 'npm run start', // 直接调用package.json里的start命令
    // 也可直接写:script: 'next start -p 8080'
    instances: 1,
    autorestart: true,
    watch: false,
    env: {
      NODE_ENV: 'production'
    }
  }]
};

方法2:通过环境变量指定端口

Next.js支持用PORT环境变量配置端口,可在ecosystem.config.js中添加该变量:

module.exports = {
  apps : [{
    name: 'your-second-next-app',
    script: 'next start',
    instances: 1,
    autorestart: true,
    watch: false,
    env: {
      NODE_ENV: 'production',
      PORT: 8080 // 此处指定目标端口
    }
  }]
};

方法3:清理PM2旧进程后重启

若此前已用PM2启动过该项目,可能残留旧进程配置,需先清理再重新加载:

  1. 停止旧进程:pm2 stop your-second-next-app
  2. 删除旧进程配置:pm2 delete your-second-next-app
  3. 重新启动项目:pm2 start ecosystem.config.js

验证方式

启动后执行pm2 list查看项目端口配置,或用curl http://localhost:8080验证端口是否正常提供服务。

内容的提问来源于stack exchange,提问作者Hkm Sadek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:12:09