Azure webapp node.js应用程序无法启动

我试图在Azure webapp上部署一个非常简单的express.js应用程序。

部署日志显示部署正确传递,但应用程序无法启动。 检查kudu进程资源pipe理器显示确实node.js进程没有运行

在这里输入图像说明

另一方面,我没有看到任何应用程序日志,也没有任何迹象表明,该应用程序甚至开始。

有没有办法看到nodeiis试图启动应用程序时发生了什么?

用于node.js的Azure WebApp通过iisnode作为本地IIS模块运行,允许在Windows上的IIS中托pipe。 请参阅文档https://blogs.msdn.microsoft.com/silverlining/2012/06/14/windows-azure-websites-node-js/了解其function。

为了debuggingnode.js的webapp,我build议你可以参考文档来知道如何去做。

如果您使用Visual Studio作为node.js的IDE,我build议在VS中安装NTVS以debugging和部署node.js。 请参阅以下文件以了解如何开始。

  1. 安装NTVS
  2. 安装Node.js并开始使用NTVS

还有一个名为node-inspector工具,用于检查Azure上的node.js应用程序。 作为参考,您可以参考文档http://www.ranjithr.com/?p=98

同时,请通过Kudo控制台检查节点webapp中的web.config文件,您可以将您的代码与Azure门户上Gallery的Express模板生成的示例进行比较。

希望它有帮助。 任何疑虑,请随时让我知道。


进程资源pipe理器显示我的web应用程序的node.js进程。 在这里输入图像说明

您需要先启用日志logging,然后才能获取日志,希望能够提供有关错误的更多详细信息。 你可以在这里阅读更多。

你不必从kudu浏览器检查/pipe理你的web应用程序。

你可以参考文章https://azure.microsoft.com/en-us/documentation/articles/app-service-web-nodejs-get-started/把你的本地node.js通过git的azure。

而且你也可以通过FTP在webapp仪表板页面显示你的代码到azure。

之后,在azure上启动您的node.jsnetworking应用程序,然后您将可以访问它。

如果您想查看代码的运行时日志,可以在azure门户网站应用程序中转到“yourwebapp ==>configuration==>应用程序诊断”以configuration您的日志。

在这里发布我的调查步骤。
1.编辑D:\ home \ site \ wwwroot \ iisnode.yml,从https://xxx.scm.azurewebsites.net/DebugConsole添加下面的行

 devErrorsEnabled: true 
  1. 从Azure门户重新启动应用程序服务
  2. 访问你的服务,你会看到这样的事情:

HRESULT:0x2
HTTP状态:500
HTTP子状态:1002
HTTP原因:内部服务器错误

  1. https://docs.microsoft.com/en-us/azure/app-service/app-service-web-nodejs-best-practices-and-troubleshoot-guide#iisnode-http-status-and-substatus到findsubstatus的含义。

更多的debugging技巧,你可以看到: https : //prmadi.com/debug-nodejs-app-in-azure-app-services-windows-2/