NestJS Azure WebApp
Posted
技术标签:
【中文标题】NestJS 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
任何帮助都会很棒
【问题讨论】:
【参考方案1】:为了强调一点,Node.js 应用程序必须使用所有必需的 NPM 依赖项进行部署。当您部署 Git 存储库或启用构建自动化的 Zip 包时,应用服务部署引擎会自动为您运行 npm install --production
。
当您说使用 pm2 serve 启动应用程序时,我相信您已经在 Azure Portal 的应用程序设置中添加了“启动文件”(启动命令)部分。
对于自定义启动文件,请使用任一支持的扩展名:.js 文件/PM2 文件,扩展名为 .json、.config.js、.yaml 或 .yml
对于 Linux WebApp 上的 Nestjs,请尝试以下流程:
-
导航到 src/main.ts 并将端口从 3000 更改为 process.env.PORT
导航到 .gitignore 并从编译的输出部分中删除 dist
在命令行中运行“npm run build”,这将触发 npm 运行 package.json 中的构建脚本并生成一个 dist 文件夹。
通过 git/github 部署应用程序应触发 oryx 构建,它将安装运行应用程序所需的节点模块
在门户中,导航到配置并将启动命令设置为“node dist/main.js”
然后,检查 WebApp 是否工作正常。
如果您使用 Windows 上的应用服务,请将 web.config 文件添加到应用程序的根目录 (Nestjs Web.config)
请参阅此文档以获取更多信息Configure a Node.js app for Azure App Service
【讨论】:
以上是关于NestJS Azure WebApp的主要内容,如果未能解决你的问题,请参考以下文章
Azure 静态 Web 应用 API 中的 TypeORM 迁移
是否可以通过 storagenestJS sdk 上传带有元数据的文件?
Cosmos DB:不支持可重试写入。请通过指定禁用可重试写入