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

如何在AWS EC2 Amazon Linux后台运行Next.js应用?

解决Next.js静态应用后台运行问题(用pm2)

先确认全局装了pm2,没装的话跑这个命令:

npm install -g pm2

步骤1:创建pm2配置文件

在项目根目录(或者和out文件夹同级的目录)新建ecosystem.config.js文件,内容如下:

module.exports = {
  apps: [
    {
      name: "next-static-app", // 自定义你的应用名称
      script: "npx",
      args: "serve@latest out -l 3000", // 指定serve版本、静态文件夹和端口,端口可自行修改
      env: {
        NODE_ENV: "production" // 按需添加其他环境变量,多变量直接加键值对即可
      },
      cwd: "/home/your-user/your-next-project", // 替换成你的项目根目录绝对路径,比如/home/usama/my-next-app
      autorestart: true, // 进程崩溃自动重启
      watch: false, // 静态文件无需监听变化,设为false即可
      max_memory_restart: "1G" // 内存占用超过1G时自动重启,按需调整阈值
    }
  ]
};

重点:cwd必须填绝对路径,否则pm2可能找不到out文件夹;如果3000端口被占用,换成其他可用端口即可。

步骤2:启动pm2进程

在配置文件所在目录执行:

pm2 start ecosystem.config.js

步骤3:检查运行状态

执行以下命令确认进程是否正常运行:

pm2 status

如果状态显示为online,说明启动成功,此时退出PuTTY终端进程也会保持后台运行。

步骤4:设置开机自启(可选)

如果需要服务器重启后自动启动应用,先执行:

pm2 startup

跟着终端提示执行生成的命令完成开机自启配置,然后保存当前pm2进程列表:

pm2 save

常见问题排查

  • 之前用pm2启动失败的话,先清理旧进程:
    pm2 delete next-static-app # 替换成你之前使用的应用名称
    
  • 查看日志排查错误原因:
    pm2 logs next-static-app
    
  • 若担心路径问题,可直接在args里写out的绝对路径,比如args: "serve@latest /home/usama/my-next-app/out -l 3000"

内容的提问来源于stack exchange,提问作者Muhammad Usama

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 17:22:47