1. 程式人生 > >Asp.Net Core App 部署故障示例

Asp.Net Core App 部署故障示例

str .com href init 日誌 with pro 新的 listen

相關閱讀:Windows + IIS 環境部署Asp.Net Core App

1. HTTP Error 502.5 – Process Failure

環境

Windows Server 2012, IIS 8, Asp.Net Core 1.1.

故障

App按正常流程發布後通過瀏覽器訪問出現以下錯誤:

HTTP Error 502.5 – Process Failure

  • The application process failed to start
  • The application process started but then stopped
  • The application process started but failed to listen on the configured port

技術分享

排錯

1. 通過頁面返回的信息得知錯誤是由於app未能啟動或啟動後被終止。較為可能原因是Asp.Net Core Module或Kestrel,IIS問題可能性較小。

2. 查看windows日誌,顯示錯誤信息為:

Application MACHINE/WEBROOT/APPHOST/ITEAM.VICP.NET 8089 with physical root C:\WebSites\test.com\‘ failed to start process with commandline ‘"dotnet" .\WebApplication1.dll, ErrorCode = 
0x80004005 : 80008083.

日誌信息表明是在執行 dotnet \WebApplication1.dll命令時出錯。

3. 打開命令行,執行 dotnet \WebApplication1.dll:

技術分享

至此故障問題已明確。故障是由於服務器端.Net Core版本低於App的.Net Core版本所致。

解決

在服務器上安裝最新版本.NET Core Windows Server Hosting程序集。

分析

目前.Net Core版本更新比較頻繁,由於Visual Studio有更新提醒機制,所以在開發環境中的程序組件往往是比較新的,而服務器上的程序組件一般不會頻繁更新,在部署時就會引起故障。

Asp.Net Core App 部署故障示例