- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我接到一项任务,将 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 部署,所以我不太熟悉它。
您可以通过以下方式获取 kudu 日志文件https://{site}.scm.azurewebsites.net/> 工具选项卡 > 诊断转储
在下面站点的“总体流程”部分下,您将看到 kudu 流程的工作原理。这个链接也帮助我了解了 kudu 过程。 https://blog.lifeishao.com/2017/03/24/custom-nodejs-deployment-on-azure-web-app/
同步应用程序、清理文件并将其复制到目标文件夹后,kudu 将尝试生成 web.config。在我们的例子中,.js 位于私有(private) Node 模块之一,因此它需要在 kudu 生成 web.config 之前就存在。
还建议创建您自己的deploy.cmd,以便您能够控制部署步骤。您还可以引用此链接了解更多信息。 https://github.com/projectkudu/kudu/wiki/Custom-Deployment-Script#custom-deployment-script-generator
如果您要部署带有私有(private)模块的应用程序,您可以引用此链接获取指南。 https://www.jeff.wilcox.name/2017/02/azure-private-npm/另外,即使您的本地文件夹中已有 .npmrc,在执行 npm install 时也要明确指示注册表。
最后,如果您在 Azure Devops 中使用 Azure 服务应用部署进行部署,请不要让它为您生成 web.config,而让 kudu 生成它。
关于node.js - 如何将 NodeJs 应用程序部署到 azure Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54260936/
我是一名优秀的程序员,十分优秀!