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

如何在AWS EC2的NX工作区中通过PM2部署NestJs应用?

解决NX工作区NestJS应用PM2部署问题

首先先通过PM2日志定位具体错误:

pm2 logs Backend API

推荐生产部署方式(构建为JS后运行)

NX项目生产环境建议先构建成JavaScript产物,再用PM2启动,步骤如下:

  1. 在EC2实例的项目根目录执行构建命令:
nx build api --prod

构建完成后,产物会生成在dist/apps/api目录下。

  1. 修改pm2.config.js配置:
// pm2.config.js
module.exports = {
  apps: [
    {
      name: 'Backend API',
      script: './dist/apps/api/main.js', // 指向构建后的主文件
      cwd: './', // 项目根目录
      env: {
        PORT: 3000,
        NODE_ENV: 'production',
      },
    },
  ],
};
  1. 启动PM2服务:
pm2 start pm2.config.js
  1. 验证运行状态:
pm2 status

开发环境临时方案(直接用TS运行)

如果需要在开发环境直接运行TS代码(不推荐生产),修改配置如下:

// pm2.config.js
module.exports = {
  apps: [
    {
      name: 'Backend API',
      script: './apps/api/src/main.ts', // 直接指向TS入口文件
      interpreter: 'ts-node',
      cwd: './', // 项目根目录
      env: {
        PORT: 3000,
        NODE_ENV: 'production',
      },
    },
  ],
};

注意:需确保已安装依赖:

npm install ts-node typescript -D

额外检查项

  • 确认EC2安全组已开放3000端口的入站访问规则
  • 如果项目使用.env文件,需确保文件存在且路径正确,可在script中添加--require dotenv/config来加载环境变量

内容的提问来源于stack exchange,提问作者Bhanuka Krish

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 17:02:21