gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 06:18:31 25 4
gpt4 key购买 nike

从昨天开始,我一直在尝试将 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 中为 Nodejs 应用程序提供了指向 index.js 的入口点。我的 Nestjs 应用程序中不存在该 index.js,我做了一些研究,发现编译所有内容后,nestjs 应用程序的入口点是 main.js。该示例项目和我的 Nestjs 应用程序还有另一个区别,即 NestJS 应用程序的 main.js 文件似乎位于 dist 文件夹中,而不是位于 wwwroot 路径的根目录中。

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

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

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

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

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

SyntaxError: Use of const in strict mode. at Module._compile (module.js:434:25) at Object..js (module.js:464:10) at Module.load (module.js:353:31) at Function._load (module.js:311:12) at Module.require (module.js:359:17) at require (module.js:375:17) at Object. (D:\Program Files (x86)\iisnode\interceptor.js:459:1) at Module._compile (module.js:446:26) at Object..js (module.js:464:10) at Module.load (module.js:353:31)

经过一番谷歌搜索后,我发现旧版本的 Node (< 4)中很常见异常。我远远超出了该版本,并且将 azure 设置为远远超出该版本的版本。

最佳答案

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

az webapp config set --resource-group myResourceGroup --name myAppServiceName --startup-file "npm run start:prod"

关于node.js - Nestjs 到 Azure Windows 应用程序服务 - web.config 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61232654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com