Azure webapp node.js 应用未启动

Azure webapp node.js app not starting

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

部署日志显示部署正确通过但应用程序未启动。检查 kudu 进程浏览器显示 node.js 进程确实不是 运行

另一方面,我没有看到任何应用程序日志,也没有看到应用程序启动的任何迹象。

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

您不必 check/manage 来自 kudu 资源管理器的 Web 应用程序。

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

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

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

如果你想查看代码的运行时日志,你可以去 "yourwebapp ==> CONFIGURE ==> Application Diagnostics" 在 azure portal webapp 中配置您的日志。

node.js 的 Azure WebApp 运行 通过 iisnode as a native IIS module that allows hosting in IIS on Windows. Please see the document 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

还有一个名为 node-inspector for inspecting the node.js app on Azure. As reference, you can refer to the doc http://www.ranjithr.com/?p=98 的工具。

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

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


进程浏览器显示 node.js 我的 web 应用程序的进程。

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

post 我的调查步骤在这里。
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 查找子状态的含义。

更多调试技巧,请看:https://prmadi.com/debug-nodejs-app-in-azure-app-services-windows-2/

对于 运行 节点的 Azure Framework,根文件夹中必须有一个 web.config 文件将 IIS 配置为 运行 节点进程。

如果您通过 git 部署,则不必担心创建 web.config 文件。 Azure 框架将执行 post 部署构建操作,这将

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

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

  • 覆盖默认设置,以便生成操作 运行 OR
  • 在 zip 文件中包含 web.config filenode_modules 文件夹。

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

如果您想使用自己的 web.config 文件启用节点,请参阅 for a sample web.config file. Also, see this blog: https://blogs.msdn.microsoft.com/silverlining/2012/06/14/windows-azure-websites-node-js/ 了解更多详细信息。