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

时间:2016-05-09 04:56:37

标签: node.js azure azure-web-sites kudu

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

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

enter image description here

另一方面,我没有看到任何应用程序日志,也没有任何关于应用程序开始的迹象。

有没有办法查看nodeiis尝试启动应用时发生了什么?

5 个答案:

答案 0 :(得分:2)

Azure WebApp for node.js正在通过iisnode作为本机IIS模块运行,该模块允许在Windows上的IIS中进行托管。请参阅文档https://blogs.msdn.microsoft.com/silverlining/2012/06/14/windows-azure-websites-node-js/以了解其功能。

为了调试node.js的webapp,我建议你可以参考document来了解如何操作。

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

  1. Installation for NTVS
  2. Install Node.js and get started with NTVS
  3. 还有一个名为node-inspector的工具用于检查Azure上的node.js应用程序。作为参考,您可以参考文档http://www.ranjithr.com/?p=98

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

    希望有所帮助。如有任何疑虑,请随时告诉我。

    进程资源管理器显示了我的webapp for node.js的进程。 enter image description here

答案 1 :(得分:1)

您需要先启用日志记录,然后才能获取可能(希望)为您提供有关错误的更多详细信息的日志。您可以阅读更多相关信息here

答案 2 :(得分:1)

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

devErrorsEnabled: true  
  1. 从Azure门户重启应用服务
  2. 访问您的服务,您会看到以下内容:
  3. HRESULT:0x2
    HTTP状态:500
    HTTP subStatus: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查找子状态的含义。
    2. 了解更多调试技巧,您可以看到:https://prmadi.com/debug-nodejs-app-in-azure-app-services-windows-2/

答案 3 :(得分:1)

要运行Azure Framework节点,必须在根文件夹中有一个web.config文件,用于配置IIS以运行节点进程。

如果通过git部署,则不必担心创建web.config文件。 Azure框架将执行部署后的生成操作,

  • 将您的代码识别为节点应用程序,并为您创建一个web.config文件。
  • 运行npm install以确保存在必需的软件包。

默认情况下,部署后构建操作将不会针对.zip部署运行。您可以通过以下两个选项中的 one 解决此问题:

  • 覆盖默认设置,以便构建操作确实运行 OR
  • 在压缩文件中包含web.config filenode_modules文件夹。

要覆盖默认行为并启用zip部署的构建操作,只需添加应用程序设置SCM_DO_BUILD_DURING_DEPLOYMENT,设置为true

如果要使用自己的web.config文件启用节点,请参见this answer以获取示例web.config文件。另外,请参见此博客:https://blogs.msdn.microsoft.com/silverlining/2012/06/14/windows-azure-websites-node-js/,以了解更多详细信息。

答案 4 :(得分:0)

您无需从kudu explorer检查/管理您的webapp。

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

您还可以通过FTP将代码移动到azure,这在webapp仪表板页面中显示。

之后在azure上启动node.js web应用程序,然后您就可以访问它了。

如果要查看代码的运行时日志,可以转到 azure portal webapp中的“yourwebapp ==> CONFIGURE ==>应用程序诊断”,用于配置日志。