【问题标题】:NestJS Azure WebAppNestJS Azure WebApp
【发布时间】:2021-11-24 23:00:52
【问题描述】:

我正在尝试在 Azure 应用服务中启动一个 nestJS 应用。正在通过 DevOps 管道进行部署。该构建创建了一个dist 文件夹,我正在使用zip deploy 进行部署。容器似乎启动正常,但我在浏览时收到404

Container web##############_1_db5070dc for site web############# initialized successfully and is ready to serve requests.

我正在使用以下方式启动应用程序:pm2 serve /home/site/wwwroot/dist/ --no-daemon > app.log

一切看起来都不错,除了 404

任何帮助都会很棒

【问题讨论】:

    标签: node.js azure azure-web-app-service nestjs azure-webapps


    【解决方案1】:

    为了强调一点,Node.js 应用程序必须使用所有必需的 NPM 依赖项进行部署。当您部署 Git 存储库或启用构建自动化的 Zip 包时,应用服务部署引擎会自动为您运行 npm install --production

    当您说使用 pm2 serve 启动应用程序时,我相信您已经在 Azure Portal 的应用程序设置中添加了“启动文件”(启动命令)部分。

    对于自定义启动文件,请使用任一支持的扩展名:.js 文件/PM2 文件,扩展名为 .json、.config.js、.yaml 或 .yml

    对于 Linux WebApp 上的 Nestjs,请尝试以下流程:

    1. 导航到 src/main.ts 并将端口从 3000 更改为 process.env.PORT
    2. 导航到 .gitignore 并从编译的输出部分中删除 dist
    3. 在命令行中运行“npm run build”,这将触发 npm 运行 package.json 中的构建脚本并生成一个 dist 文件夹。
    4. 通过 git/github 部署应用程序应触发 oryx 构建,它将安装运行应用程序所需的节点模块
    5. 在门户中,导航到配置并将启动命令设置为“node dist/main.js”

    然后,检查 WebApp 是否工作正常。

    如果您使用 Windows 上的应用服务,请将 web.config 文件添加到应用程序的根目录 (Nestjs Web.config)

    请参阅此文档以获取更多信息Configure a Node.js app for Azure App Service

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      • 2020-10-05
      • 2016-01-14
      • 2016-04-26
      • 1970-01-01
      相关资源
      最近更新 更多