Windows平台部署 Asp.Net Core 3.1.0,將 ASP.NET Core 應用發布到 IIS ,使用 IIS 在 Windows 上托管 ASP.NET Core


第一部分:本教程介紹如何在 IIS 服務器上托管 ASP.NET Core 應用。

  官方文檔地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-3.1&tabs=visual-studio

本教程涵蓋以下主題:

  • 在 Windows Server 上安裝.NET Core Hosting Bundle。
  • 在 IIS 管理器中創建 IIS 站點。
  • 部署 ASP.NET Core 應用。

 我概況一下,主要是安裝2個文件:

       1、安裝. NET Core SDK 安裝在開發計算機上(dotnet-sdk-3.1.100-win-x64.exe)

      下載地址:https://dotnet.microsoft.com/download。選擇 Download .NET Core SDK 這個版本進行安裝就可以。

       2、安裝 .NET Core 托管捆綁包(dotnet-hosting-3.1.0.exe)。使用以下鏈接下載安裝程序:

                 下載地址:當前 .NET Core 托管捆綁包安裝程序(直接下載)  https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer

        3、安裝 Web Platform Installer。(這一步可以省略,我見.net core 2.0版本有人裝這個,我的windows10安裝了,windows Server服務器沒有裝 )。

                  下載地址:https://www.microsoft.com/web/downloads/platform.aspx

         4、重啟電腦,或者在命令行執行以下命令(我建議以下命令執行完后重啟電腦吧)。

         重啟服務器或在命令行界面中執行 net stop was /y,后跟 net start w3svc 。

      

第二部分:關於發布、部署到iis的一些配置:

      1. 關於visual studio 2019發布.net core 3.0時一些配置

      發布-步驟1:選取發布目標:選擇文件夾,然后點擊高級: 

         

      發布-步驟2:目標框架:netcoreapp3.0, 部署模式:框架依賴,目標運行時:選擇可移植。然后保存。     

           

     注意: 這里要重點說明:這里的目標運行時:win-x64或者win-x86 是你第一步,安裝.net core sdk的運行時版本。並不是你操作系統的版本

   我們在第一部介紹時,就直接選擇的是64位按照包,所以這個文章所有截圖中都是選擇64位運行時版本。

     

 

     發布-步驟3:點擊發布按鈕,就發布完成。

     

   2.部署到iis 。

          建議查看官方文檔:將 ASP.NET Core 應用發布到 IIS ,https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-3.1&tabs=visual-studio。

          這里截圖列一下我的關鍵配置:

          1.應用程序池,選擇無托管模式。我電腦是64位,選擇“啟用32位應用程序”為“false”。

            

      iis進程高級選項中,修改進程模塊的“標識”,使用有管理員角色的賬號登錄。如果不使用管理員權限賬號,我這里會報500.0 - ANCM In-Process Handler Load Failure。所以一定要改。

            

       2.權限配置:選擇【網站】》選中【要更改的網站】,點擊【基本設置】,彈出如下對話框。點擊【連接為】,路徑憑據中選擇【特定用戶】,點設置,輸入管理員賬號和密碼。

            

  

第三部分:使用 IIS 在 Windows 上托管 ASP.NET Core  問題太多:

  官方文檔https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-3.1#iis-configuration 官方文檔。

 

我部署過程中遇到的問題:如下

HTTP Error 500.0 - ANCM In-Process Handler Load Failure

Troubleshooting steps:

  • Check the system event log for error messages
  • Enable logging the application process' stdout messages
  • Attach a debugger to the application process and inspect

For more information visit: https://go.microsoft.com/fwlink/?LinkID=2028526

下圖: 

               

部署后出現的以上錯誤的原因可能有以下幾點:

    1、沒有安裝第一部分中的前2個安裝包:.net core sdk(.net core sdk) 和 dotnet-hosting( .NET Core 托管捆綁包)

    2、發布或者部署時運行時版本沒有選擇正確。現在一般都是64位。注意詳細的配置。  

    3、部署后給iis和應用程序池的權限不夠。分別給iis網站和應用程序池,分管理員用戶權限。

 

 其他參考:

       Windows平台部署Asp.Net Core應用(基於IIS和Windows服務兩種模式) : https://blog.csdn.net/weixin_33757609/article/details/93693395 。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM