“don't worry”,部署ASP.NET Core應用可以和原來部署.NET Framework的ASP.NET應用一樣的簡單,還是“熟悉的配方,熟悉的味道”,甚至提供了更加便捷的Kestrel部署方式,下面主要介紹在windows平臺下兩種常用部署方式:
- 方式一:Kestrel部署Web應用
- 方式二:IIS部署Web應用
下載ASP.NET Core運行時
在部署應用之前,ASP.NET Core運行時的具備是運行Web應用的基本條件,本文的部署以ASP.NET Core3.1的運行時版本為例,下載地址:https://dotnet.microsoft.com/zh-cn/download/dotnet/3.1,在界面上選擇安裝包時,保險起見建議選擇Hosting Bundle(托管捆綁包),該包除了自身ASP.NET Core的運行時還包括了.NET 運行時和 IIS 支持, 
請在檔案下載后拷貝到對應的服務器進行安裝,

為了確認安裝是否成功,我們可以使用.NET CLI命令來驗證,打開命令列視窗輸入:dotnet --info,點擊回車后如果出現如下界面則表示運行時安裝成功,

1.方式一:Kestrel部署Web應用
1.1.配置Kestrel服務器監聽的URL
Kestrel是ASP.NET Core內置的一個性能強大、功能豐富、跨平臺的Web服務器,所以IIS服務器不再是我們部署應用的唯一選擇,對于內置了Kestrel服務器的ASP.NET Core站點,在編譯發布成功后,將發布目錄直接拷貝到服務器上,在打開目錄的exe檔案就可以實作運行,
由于Kestrel服務器而言它默認監聽系結的地址是http://localhost:5000,這是一個本地訪問的地址,所以如果我們要遠程訪問部署的站點,默認監聽的地址顯然是不行的,我們必須通過設定一個可以用于遠程訪問的地址,
配置Kestrel監聽的URL目前有五種方式,本文主要介紹一種相對方便的方式進行配置,就是為服務器設定一個名稱為:“ASPNETCORE_URLS”的環境變數,并將值設定為:http://0.0.0.0:5000/,其含義代表監聽不局限于某個固定IP,使用路由器為服務器分配的IP加上5000埠號就可以訪問,

有關更多配置Kestrel監聽URL的方式可詳見下面的地址:
https://www.cnblogs.com/linezero/p/aspnetcorekestrelurls.html
1.2.使用.NET CLI命令進行發布
1.打開我們解決方案中啟動專案的目錄,滑鼠右擊空白處,在展開的選單欄中點擊“在終端中打開”,

2.我們使用.NET CLI命令結合控制臺的方式編譯發布Web站點,在命令列視窗輸入以下命令:
dotnet publish --configuration Release -o MyFirstPublish
以上的命令表示我們將代碼生成“配置”選項設定為Release模式,以便優化程式集,-o表示將編譯發布后的檔案存放在專案根目錄中的“MyFirstPublish”的檔案夾中,
3.輸入.NET CLI命令后進行回車,如果執行沒有例外且發布的檔案成功創建,則表示發布成功,
4.將發布的檔案拷貝到服務器的指定目錄;
5.打開專案的發布檔案夾,在目錄下找到后綴為exe的檔案(具體檔案名和專案的名稱一致),雙擊打開檔案以啟動Web服務,

6.在瀏覽器輸入:服務器IP地址加ASP.NET Core默認使用的埠號5000,測驗站點是否能夠正常訪問,

使用自帶的Kestrel Web服務器部署運行ASP.NET Core應用,實際操作下來你會發現這種方式非常方便,可以說是ASP.NET Core中最快速的部署方案,但是該方案必須要保證專案的exe程式必須一直啟動,如果關閉后我們的站點也會無法啟動,所以在生產環境不建議使用該部署方式,不過對于開發演示階段還是非常適合的,
2.方式二:IIS部署Web應用
2.1.安裝IIS
本文以Windows Server2012 R2作業系統為例,介紹如何在服務器中安裝IIS,
1.在服務管理器視窗點擊“角色和功能”;

2.安裝型別選擇“基于角色或基于功能的安裝”,單擊下一步;

3.服務器選擇“從服務器池中選擇服務器”,單擊下一步;

4.在選擇服務器角色界面勾選“Web服務器IIS”,在彈出的對話框中單擊添加功能即可;

5.在“選擇功能”界面勾選.NET Framework 3.5功能和.NET Framework 4.5節點,以及節點下的所有節點;

6.在“選擇角色服務”界面中,建議為IIS安裝的服務勾選如下選項,勾選后點擊下一步;

7.確認安裝

2.2.使用VS將應用發布到檔案夾
在VS中選擇待發布的啟動專案滑鼠右擊,在下拉選單中選擇【發布】,在彈出的視窗中會加載出VS目前所支持的發布方式,其中將應用程式發布到本地檔案夾,是我們最“熟悉”的配方,從.NET Framework到.Net Core該方式也一直保留,該方式也是目前VS發布中最常用的方式,所以我們延用該方式進行發布,選擇后單擊下一步,

選擇將專案發布檔案存放在哪個目錄,這個目錄根據個人需求自定義或者使用默認路徑即可,單擊下一步,

在選擇好發布方式和發布檔案的存放路徑后,VS會為專案自動生成一個發布組態檔,我們在發布組態檔界面底部點擊【顯示所有設定】可以進行發布的配置界面,

下面我們對以上的配置的說明和選擇做一個簡單的介紹,詳見下表:

在配置好發布檔案后,單擊右上角的【發布】按鈕啟動發布流程,

2.3.添加IIS網站
在服務器打開IIS管理器,在左側節點樹選擇網站節點,右擊在選單中選擇【添加網站】,然后在界面中對部署網站進行配置,其中網站名稱通常設定為專案名稱,IP地址選擇未分配則使用服務器當前的IP地址,埠號的選擇要確保已開通相應的埠權限,輸入完內容后單擊【完成】,

在【應用程式池】串列中找到專案對應的應用程式池雙擊打開,在界面中將.NET CLR版本設定為“無托管代碼”

單擊確定后,網站的部署作業已經完成,可以嘗試訪問站點看是否訪問正常,

如果發布后網站無法訪問,可以瀏覽文章《ASP.NET Core部署手冊:注意事項和問題排查》嘗試分析,
知識改變命運
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/500039.html
標籤:.NET Core
