azure webapp node.js应用程序未启动

rwqw0loc  于 2021-06-20  发布在  Kudu
关注(0)|答案(5)|浏览(378)

我正在尝试在azure webapp上部署一个非常简单的express.js应用程序。
部署日志显示部署已正确通过,但应用程序未启动。检查kudu process explorer会发现node.js进程确实没有运行

另一方面,我没有看到任何应用程序日志,也没有任何迹象表明该应用程序已经启动。
有没有办法看看节点试图启动应用程序时发生了什么?

qnakjoqk

qnakjoqk1#

您需要先启用日志记录,然后才能获得(希望)能够提供有关错误的更多详细信息的日志。你可以在这里了解更多。

gywdnpxw

gywdnpxw2#

你不必从kudu浏览器检查/管理你的webapp。
你可以参考这篇文章https://azure.microsoft.com/en-us/documentation/articles/app-service-web-nodejs-get-started/ 通过git将本地node.js放到azure。
你也可以通过ftp将你的代码移动到azure,ftp显示在webapp Jmeter 板页面中。
之后,在azure上启动node.js web应用程序,然后就可以访问它了。
如果您想查看代码的运行时日志,可以转到azure portal webapp中的“yourwebapp==>configure==>application diagnostics”来配置日志。

woobm2wo

woobm2wo3#

要使azure framework运行节点,根文件夹中必须有一个web.config文件,用于配置iis以运行节点进程。
如果通过git部署,就不必担心创建web.config文件。azure框架将执行部署后生成操作,该操作将
将代码识别为节点应用程序,并为您创建一个web.config文件。
npm install 以确保提供所需的包。
默认情况下,部署后生成操作不会对.zip部署运行。您可以通过以下两个选项之一解决此问题:
重写默认设置,以便生成操作运行或
包括 web.config file 以及 node_modules zip文件中的文件夹。
要覆盖默认行为并启用zip部署的生成操作,只需将应用程序设置scm\u do\u build\u during\u deployment设置为 true 如果要使用自己的节点启用节点 web.config 文件,请参阅此答案以获取示例web.config文件。另外,请参见以下博客:https://blogs.msdn.microsoft.com/silverlining/2012/06/14/windows-azure-websites-node-js/ 更多细节。

ibps3vxo

ibps3vxo4#

把我的调查步骤公布在这里。
1编辑d:\home\site\wwwroot\iisnode.yml,来自https://.scm.azurewebsites.net/debugconsole 在行下方添加

devErrorsEnabled: true

从azure门户重新启动应用程序服务
访问您的服务,您将看到如下内容:
hresult:0x2
http状态:500
http子状态:1002
http原因:内部服务器错误
去https://docs.microsoft.com/en-us/azure/app-service/app-service-web-nodejs-best-practices-and-troubleshoot-guide#iisnode-http status和substatus来查找substatus的含义。
有关更多调试技巧,请参见:https://prmadi.com/debug-nodejs-app-in-azure-app-services-windows-2/

p4rjhz4m

p4rjhz4m5#

azure webapp for node.js作为本机iis模块通过iisnode运行,该模块允许在windows上的iis中托管。请看文件https://blogs.msdn.microsoft.com/silverlining/2012/06/14/windows-azure-websites-node-js/ 了解它的特点。
为了调试node.js的webapp,我建议您可以参考文档了解如何进行调试。
如果您使用visualstudio作为node.js的ide,我建议在vs中安装ntvs以调试和部署node.js。请参阅下面的文档以了解如何开始。
NTV安装
安装node.js并开始使用NTV
还有一个叫做 node-inspector 用于检查azure上的node.js应用程序。作为参考,您可以参考文档http://www.ranjithr.com/?p=98.
同时,请检查 web.config 通过kudo控制台,您可以将您的代码与azure门户上gallery的express模板生成的示例进行比较。
希望对你有帮助。如有任何问题,请随时告诉我。
process explorer显示node.js的webapp进程。

相关问题