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

如何正确部署Nest.js应用到Azure Web App?需包含package.json吗?

部署Nest.js到Azure Web App的正确方法

核心逻辑

Azure Web App依赖package.json来识别项目依赖、执行启动命令,只传dist文件夹的话,服务器没有安装依赖的依据,所以必须把构建产物+必要配置文件一同部署,推荐用自动化流程减少手动操作。

方法一:手动部署(适合测试场景)

  1. 本地完成项目构建:
    npm run build
    
  2. 整理部署文件:
    • 必须包含:dist/(构建后的编译文件)、package.json、package-lock.json(或yarn.lock)
    • 可选补充:.env(生产环境变量,注意剔除敏感信息)、nest-cli.json(有自定义构建规则时需要)
  3. 将这些文件打包成ZIP,通过Azure门户的「部署中心」上传,或用FTP/SFTP直接上传到服务器站点目录
  4. 配置启动命令:
    在Azure Web App的「配置」→「常规设置」里,设置启动命令为:
    npm run start:prod
    
    也可以直接写node dist/main.js,取决于你package.json里的脚本配置

方法二:自动化部署(推荐用于生产环境)

用GitHub Actions实现代码推送后自动构建部署,全程无需手动操作:

  1. 在项目根目录创建.github/workflows/azure-deploy.yml,示例内容:
    name: Deploy Nest.js to Azure Web App
    
    on:
      push:
        branches: [ main ]
      workflow_dispatch:
    
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
    
        steps:
          - uses: actions/checkout@v4
    
          - name: Set up Node.js
            uses: actions/setup-node@v4
            with:
              node-version: '20.x' # 匹配你的项目Node版本
    
          - name: Install dependencies
            run: npm ci
    
          - name: Build project
            run: npm run build
    
          - name: Deploy to Azure
            uses: azure/webapps-deploy@v3
            with:
              app-name: '你的Web App名称'
              publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
              package: . # 部署当前目录下的所有必要文件
    
  2. 在Azure门户获取Web App的发布配置文件,添加到GitHub仓库的Secrets中(命名为AZURE_WEBAPP_PUBLISH_PROFILE)
  3. 推送代码到main分支后,GitHub Actions会自动完成依赖安装、项目构建、部署到Azure的流程,Azure会自动安装生产依赖并启动应用

关键注意事项

  • 确保package.json里的生产启动脚本正确:
    "scripts": {
      "start:prod": "node dist/main.js",
      "build": "nest build"
    }
    
  • 不要上传本地的node_modules文件夹,Azure会自动执行npm install --production安装生产依赖,手动上传可能导致版本冲突
  • 如果用环境变量,建议通过Azure门户的「配置」→「应用程序设置」添加,避免把敏感信息提交到代码仓库

内容的提问来源于stack exchange,提问作者Maria Gavrila

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 08:11:00