gpt4 book ai didi

node.js - 如何将 NodeJs 应用程序部署到 azure Web 应用程序

转载 作者:行者123 更新时间:2023-12-02 07:35:22 24 4
gpt4 key购买 nike

我接到一项任务,将 NodeJS 应用程序部署到 Azure Web 应用程序,但我无法让它工作。

我按照此 link 中的说明进行操作一切似乎都很简单。

唯一的区别是我的 package.json 启动脚本如下所示。

"scripts": {
"start": "node ./node_modules/@samplescope/samplefolder/sample_service.js"
},

在说明链接的示例源代码中,它有一个指向 server.js 的 web.config,因此我将该部分修改为启动文件的位置,即 "./node_modules/@样本范围/样本文件夹/sample_service.js"

从这里

    <rule name="DynamicContent">
<match url="/*" />
<action type="Rewrite" url="server.js"/>
</rule>

像这样的事情

    <rule name="DynamicContent">
<match url="/*" />
<action type="Rewrite" url="./node_modules/@samplescope/samplefolder/sample_service.js"/>
</rule>

我还尝试删除我创建的 web.config,因为根据此 link kudu 会尝试根据您的 package.json 为您生成一个,但仍然不起作用。

我知道我做错了,有人可以指出我正确的方向吗?

此外,如何在 azure Web 应用程序中调用“npm install”?

是的,当由“npm start”调用时它在本地工作

最佳答案

我能够解决这个问题,现在能够成功地将我的 NodeJS 应用程序部署到 Azure Web 应用程序。

帮助我解决问题的几个关键点,因为我知道 kudu 部署,所以我不太熟悉它。

  1. 您可以通过以下方式获取 kudu 日志文件https://{site}.scm.azurewebsites.net/> 工具选项卡 > 诊断转储

  2. 在下面站点的“总体流程”部分下,您将看到 kudu 流程的工作原理。这个链接也帮助我了解了 kudu 过程。 https://blog.lifeishao.com/2017/03/24/custom-nodejs-deployment-on-azure-web-app/

  3. 同步应用程序、清理文件并将其复制到目标文件夹后,kudu 将尝试生成 web.config。在我们的例子中,.js 位于私有(private) Node 模块之一,因此它需要在 kudu 生成 web.config 之前就存在。

  4. 还建议创建您自己的deploy.cmd,以便您能够控制部署步骤。您还可以引用此链接了解更多信息。 https://github.com/projectkudu/kudu/wiki/Custom-Deployment-Script#custom-deployment-script-generator

  5. 如果您要部署带有私有(private)模块的应用程序,您可以引用此链接获取指南。 https://www.jeff.wilcox.name/2017/02/azure-private-npm/另外,即使您的本地文件夹中已有 .npmrc,在执行 npm install 时也要明确指示注册表。

  6. 最后,如果您在 Azure Devops 中使用 Azure 服务应用部署进行部署,请不要让它为您生成 web.config,而让 kudu 生成它。

关于node.js - 如何将 NodeJs 应用程序部署到 azure Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54260936/

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