簡體   English   中英

Azure webapp node.js應用程序無法啟動

[英]Azure webapp node.js app not starting

我正在嘗試在Azure webapp上部署一個非常簡單的express.js應用程序。

部署日志顯示部署正確傳遞但應用程序無法啟動。 檢查kudu進程資源管理器顯示node.js進程確實沒有運行

在此輸入圖像描述

另一方面,我沒有看到任何應用程序日志,也沒有任何跡象表明應用程序甚至已經啟動。

有沒有辦法看到nodeiis嘗試啟動應用程序時發生了什么?

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,我建議你可以參考該文檔來了解如何操作。

如果您使用Visual Studio作為node.js的IDE,我建議在VS中安裝NTVS以調試和部署node.js. 請參閱以下文檔以了解如何開始使用。

  1. NTVS的安裝
  2. 安裝Node.js並開始使用NTVS

還有一個名為node-inspector工具用於檢查Azure上的node.js應用程序。 作為參考,您可以參考http://www.ranjithr.com/?p=98文檔。

同時,請通過Kudo Console檢查節點webapp中的web.config文件,您可以將您的代碼與Azure門戶上的Gallery模板生成的樣本進行比較。

希望它有所幫助。 如有任何疑慮,請隨時告訴我。


進程資源管理器顯示了我的webapp for node.js的進程。 在此輸入圖像描述

您需要先啟用日志記錄,然后才能獲取可能(希望)為您提供有關錯誤的更多詳細信息的日志。 你可以在這里閱讀更多相關信息。

在這里發布我的調查步驟。
1.編輯D:\\ home \\ site \\ wwwroot \\ iisnode.yml,從https://xxx.scm.azurewebsites.net/DebugConsole添加以下行

devErrorsEnabled: true  
  1. 從Azure門戶重啟應用程序服務
  2. 訪問您的服務,您將看到如下內容:

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到找到子狀態的含義。

有關更多調試技巧,您可以看到: https//prmadi.com/debug-nodejs-app-in-azure-app-services-windows-2/

要使Azure Framework運行節點,必須在根文件夾中配置一個web.config文件,以配置IIS以運行節點進程。

如果通過git進行部署,則無需擔心創建web.config文件。 Azure框架將執行部署后部署構建操作

  • 將您的代碼識別為節點應用程序並為您創建web.config文件。
  • 運行npm install以確保存在所需的包。

默認情況下,后期部署構建操作不會針對.zip部署運行。 您可以通過以下兩個選項之一解決此問題:

  • 覆蓋默認設置,以便構建操作確實運行OR
  • 在zip文件中包含web.config filenode_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/了解更多詳情。

您不必從kudu explorer檢查/管理您的webapp。

您可以參考文章https://azure.microsoft.com/en-us/documentation/articles/app-service-web-nodejs-get-started/將您的本地node.js通過git放到azure中。

您還可以通過FTP將代碼移動到azure,這在webapp儀表板頁面中顯示。

之后,在azure上啟動node.js web應用程序,然后您就可以訪問它了。

如果要查看代碼的運行時日志,可以在azure portal webapp中轉到“yourwebapp ==> CONFIGURE ==> Application Diagnostics”來配置日志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM