我正在尝试在 Azure webapp 上部署一个非常简单的 express.js 应用程序。
部署日志显示部署正确通过但应用程序未启动。检查 kudu 进程资源管理器显示确实 node.js 进程没有运行
另一方面,我没有看到任何应用程序日志,也没有任何迹象表明该应用程序甚至已启动。
有没有办法查看 nodeiis 尝试启动应用程序时发生了什么?
我正在尝试在 Azure webapp 上部署一个非常简单的 express.js 应用程序。
部署日志显示部署正确通过但应用程序未启动。检查 kudu 进程资源管理器显示确实 node.js 进程没有运行
另一方面,我没有看到任何应用程序日志,也没有任何迹象表明该应用程序甚至已启动。
有没有办法查看 nodeiis 尝试启动应用程序时发生了什么?
用于 node.js 的 Azure WebApp 通过iisnode作为本机 IIS 模块运行,允许在 Windows 上的 IIS 中进行托管。请参阅文档https://blogs.msdn.microsoft.com/silverlining/2012/06/14/windows-azure-websites-node-js/了解其功能。
对于node.js的webapp调试,我建议你可以参考文档来了解如何去做。
如果您使用 Visual Studio 作为 node.js 的 IDE,我建议在 VS 中安装NTVS以调试和部署 node.js。请参阅以下文档以了解如何开始。
还有一个node-inspector
用于检查 Azure 上的 node.js 应用程序的工具。作为参考,您可以参考文档http://www.ranjithr.com/?p=98。
同时,请web.config
通过 Kudo 控制台检查您的节点 webapp 中的文件,您可以将您的代码与 Azure 门户上的 Gallery 中的 Express 模板生成的示例进行比较。
希望它有所帮助。任何问题,请随时告诉我。
您需要启用日志记录,然后才能获得(希望)为您提供有关错误的更多详细信息的日志。你可以在这里阅读更多关于它的信息。
在这里发布我的调查步骤。
1. 编辑 D:\home\site\wwwroot\iisnode.yml,从https://xxx.scm.azurewebsites.net/DebugConsole 添加以下行
devErrorsEnabled: true
HRESULT:0x2
HTTP 状态:500
HTTP 子状态:1002
HTTP 原因:内部服务器错误
有关更多调试技巧,您可以查看:https ://prmadi.com/debug-nodejs-app-in-azure-app-services-windows-2/
您不必从 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 门户 webapp 中的“yourwebapp ==> CONFIGURE ==> Application Diagnostics”来配置日志。
要让 Azure 框架运行节点,根文件夹中必须有一个 web.config 文件配置 IIS 以运行节点进程。
如果通过 git 部署,则不必担心创建 web.config 文件。Azure 框架将执行部署后构建操作,这将
npm install
以确保存在所需的包。默认情况下,不会为 .zip 部署运行部署后构建操作。您可以通过以下两个选项之一解决此问题:
web.config file
和文件夹。node_modules
要覆盖默认行为并启用 zip 部署的构建操作,只需添加应用程序设置SCM_DO_BUILD_DURING_DEPLOYMENT,设置为true
如果您想使用自己的web.config
文件启用节点,请参阅此答案以获取示例 web.config 文件。此外,请参阅此博客:https ://blogs.msdn.microsoft.com/silverlining/2012/06/14/windows-azure-websites-node-js/了解更多详细信息。