Nestjs 到 Azure Windows 应用程序服务 - web.config 设置

2023-12-11

从昨天开始,我一直在尝试将 Nestjs api 部署到 azure,但没有成功。起初,我试图将其推送到 Linux 云服务计划,并能够从 vs code 部署它,在 azure 日志中看到该应用程序已成功启动,但它不会从我的端点返回任何数据,经过一番挖掘后,我不断看到一些容器故障。我尝试对此进行故障排除一段时间,然后决定尝试将其设置在 Windows 应用程序服务上。

遵循本指南:https://learn.microsoft.com/en-us/azure/app-service/app-service-web-get-started-nodejs,我将 Nestjs 应用程序推送到 Windows 上的 azure 应用程序服务,但它再次不起作用。我拉下了那篇文章中的存储库,将其与我的进行比较,它们在 web.config 中为指向 index.js 的 Nodejs 应用程序提供了入口点。我的 Nestjs 应用程序中不存在该 index.js,我做了一些研究,发现编译所有内容后,nestjs 应用程序的入口点是 main.js。该示例项目和我的 Nestjs 应用程序还有另一个区别,即 NestJS 应用程序的 main.js 文件似乎位于 dist 文件夹中,而不是位于 wwwroot 路径的根目录中。

我的 Nestjs 应用程序显然不包含开箱即用的 web.config,因此我使用 hello world 存储库作为示例创建了一个 web.config。我将 iisnode 路径更新为 dist/main.js 并将重写路径也更新为同一路径/文件,因为这是我唯一能想到做的事情。

唯一的其他通配符是我在天蓝色中为 WEBSITE_NODE_DEFAULT_VERSION 应用程序设置更改的节点版本号...我不确定我的 Nestjs 应用程序应该是什么。我当前的本地版本是12.16.2,但是当我将版本更改为azure上的版本时,它不起作用。

我不知道这里还能尝试什么——如果我能解决 docker 容器问题,我会很好地尝试回到 linux,但这似乎是一个死胡同。我想如果我能让这个 web.config / version 的东西正常工作的话,我可能会更幸运地继续沿着 Windows 路线前进。

main.js 是否位于 dist 文件夹中,我应该将 web.config 指向该文件夹? azure 有最大版本限制吗?还有什么我可能想念的吗?

编辑:打开流日志后 - 我现在看到这个异常

语法错误:在严格模式下使用 const。 在 Module._compile (module.js:434:25) 在 Object..js (module.js:464:10) 在 Module.load (module.js:353:31) 在 Function._load (module.js:311:12) 在 Module.require (module.js:359:17) 在需要时(module.js:375:17) 在对象。 (D:\Program Files (x86)\iisnode\interceptor.js:459:1) 在 Module._compile (module.js:446:26) 在 Object..js (module.js:464:10) 在 Module.load (module.js:353:31)

经过一番谷歌搜索后,我发现旧版本的节点(


我在朋友的帮助下解决了这个问题。在 azure cli 中运行此命令可以使用 Linux 设置解决问题。

az webapp config set --resource-group myResourceGroup --name myAppServiceName --startup-file "npm run start:prod"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nestjs 到 Azure Windows 应用程序服务 - web.config 设置 的相关文章

随机推荐

  • R:如何修改plotly中的图例?

    我有 3 个数值变量并通过条形图绘制它们plot ly 销售 和 分享 列通过条形图可视化 而 成本 则通过红线可视化 现在我想稍微自定义图例并在图例地图中的成本周围添加黑色边框 请参阅预期结果 df lt data frame model
  • 获取给定坐标处的 SVG-Object_s?

    我想通过坐标从 SVG 文件获取对象 ID 例如在
  • Google Geocoding API 为我的服务器和网络浏览器提供了不同的结果[重复]

    这个问题在这里已经有答案了 我正在使用 Google 地理编码 API 来获取网站上不同位置搜索的纬度 经度坐标 问题是 对于伦敦地区 可能不仅限于伦敦 这正是我们大多数用户群所在的地方 例如 滑铁卢 地理编码 api 向我的服务器返回的结
  • Applescript延迟问题

    我正在测试 applescripts 稍后我将在我的 OSX 应用程序中使用它 在单击下面的按钮命令后 我遇到了 6 秒的延迟 经过一些研究 这似乎是一个已知问题 我发现有趣的是 如果我使用商业应用程序 QuicKeys 来执行相同的操作
  • 向数组添加项目时下标超出范围

    我正在尝试用 AD 组的成员填充数组 在尝试将 newArray count 设置为用户名时 我不断收到以下错误 Microsoft VBScript runtime error Subscript out of range 这是相关代码
  • Android以编程方式获取SD卡的ID

    有什么方法可以以编程方式获取 Android 设备中当前 SD 卡的某些特定标识符 序列号 尝试这个 way 1 File input new File sys class mmc host mmc1 String cid director
  • 如何强制对系统类型使用自定义 UITypeEditor

    我有一个自定义 UITypeEditor 用于使用 propertygrid 与我的程序进行颜色选择 但如果我只公开 system drawing color 我似乎无法激活它 我需要用 CustomType 包装 Color 然后它才会调
  • 带有 locationListener 回调的 Android 服务

    我有一个安卓应用程序 根据用户当前的地理位置 我想在后台获取一些远程数据并存储它 我的实现是 在特定的时间间隔 警报会启动我的服务 Service 使用匿名类来查询当前位置并注册一个 locationListener 回调 在调用 onLo
  • 如何填充 BigQuery 中缺失的日期?

    这个问题与如何填充分区数据中缺失的日期和值 但由于该解决方案不适用于 BigQuery 因此我再次发布该问题 我有以下假设的表格 name date val A 01 01 2020 1 5 A 01 03 2020 2 A 01 06 2
  • AngularJS“localStorage.getItem”在$resource中为空

    我有一个有角的 resource用于登录和获取用户信息 登录将用户名和密码发送到服务器并获取不记名令牌 在里面success的函数User login令牌存储在localStorage In getEmail 我将令牌包含在用户电子邮件地址
  • Java 调用 Windows API GetShortPathName

    我想在我的 java 类中使用本机 windows api 函数 我感兴趣的函数是 GetShortPathName http msdn microsoft com en us library aa364989 28VS 85 29 asp
  • Android:在菜单中显示 EditText

    我目前正在开发 Android 的 mp3 库 问题是 我希望用户选择他想要添加的播放列表的名称 有用吗 因此 我在播放列表列表上创建了一个上下文菜单 允许用户在创建 删除 重命名这 3 个选项之间进行选择 我想要做的是 如果用户单击 创建
  • 防止 Spring Boot / Jackson 中的原语到字符串转换[重复]

    这个问题在这里已经有答案了 我们编写了一个Springboot Rest Service 它内部使用Jackson对Rest API的Json输入 输出进行序列化 反序列化 对于 API 输入 输出 我们不希望将原语与字符串进行类型转换 我
  • Python“join”函数类似于unix“join”

    我很好奇是否有像unix版本一样的内置python join函数 参见http linux about com library cmd blcmdl join htmhttps www man7 org linux man pages ma
  • 如何使用 Scala XML 返回空 NodeSeq?

    我正在使用不同的函数分段构建 XML 例如以下示例
  • 学说错误:未找到“Doc​​trine\ORM\EntityRepository”类

    我是 Doctrine 的新手 我正在遵循文档中的示例 当我创建 Repository 类 例如 UserRepository php 并尝试扩展 EntityRepository 类时 我收到以下错误消息 致命错误 在第 10 行的 C
  • 直接从浏览器打印,无需打印弹出窗口[重复]

    这个问题在这里已经有答案了 正如主题中所说 我必须为基于 Web 的应用程序创建一个功能 该功能将允许用户直接发送打印而不提示任何对话框 只需使打印 即单击并打印 变得简单 但不适合我 请建议什么是最好的选择以及我应该如何写它 技术 请建议
  • std::remove 不起作用

    我的测试程序的目标是擦除简单字符串向量中的单元格 如下所示 程序失败 分段错误 static void display std vector
  • 如何使用 PuPHPet 制作 Sequel Pro?

    我刚刚使用 Vagrant 和 Puphpet 设置了一个虚拟机 我知道我有 MySQL 因为我可以mysql在命令行中 我刚刚进行了基本安装 我不知道如何设置我的续集专业版才能访问 我在 Sequel Pro 应用程序上使用 标准 选项
  • Nestjs 到 Azure Windows 应用程序服务 - web.config 设置

    从昨天开始 我一直在尝试将 Nestjs api 部署到 azure 但没有成功 起初 我试图将其推送到 Linux 云服务计划 并能够从 vs code 部署它 在 azure 日志中看到该应用程序已成功启动 但它不会从我的端点返回任何数