2020/02/03, ASP.NET Core 3.1, VS2019, IIS 10, dotnet-hosting-3.1.1-win.exehtml
摘要:基於ASP.NET Core 3.1 WebApi搭建後端多層網站架構【14-擴展之部署到IIS】
在Windows上將ASP.NET Core網站部署到IISweb
文章目錄數據庫
本章節因爲並未對代碼作出改動,僅添加了發佈配置文件,因此沒有上傳代碼分支(下一章節中能夠看到本章節添加的發佈配置文件)json
本章節介紹了在Windows上將ASP.NET Core網站部署到IIS,部署環境是 Windows 10.0.18363 (企業版)後端
在控制面板-程序和功能中,添加IIS:
勾選選項默認便可
我這裏是win10企業版,winserver服務器也是相似的開啓該功能服務器
官網下載安裝dotnet-hosting,下載頁面
先選取對應的.NET Core版本,而後找到Hosting Bundle下載,下載下來安裝便可架構
對着MS.WebApi
應用程序右擊,選擇發佈
:
選擇文件夾
我這裏保持了默認bin\Release\netcoreapp3.1\publish\文件夾
點擊高級
,進一步配置:
Release
配置,部署模式爲框架依賴
,目標運行時爲可移植
,勾選刪除目標上的其餘文件
,最後點保存,建立該配置文件
最後點擊發布,項目即開始以release方式編譯
發佈完成後,能夠看到發佈的文件都在目標文件夾中了:
app
Release
配置,默認VS對Release
的配置,依然會生成pdb調試文件,須要手動在項目屬性
-生成-Release
配置-高級-調試信息
選擇爲無
,以後該項目纔不會生成pdb文件(注意調試的時候不能選擇爲無,會致使沒法調試)可移植
,無論在哪一個平臺都能運行;也能夠依據目標機器,選擇具體的平臺選擇一個地方做爲部署目錄,這裏我選擇D盤下website文件夾(若是選擇C盤,記得要把該文件夾權限設爲徹底控制,不然網站沒有對該文件夾的修改權限)
將發佈後生成的文件都拷貝至該目錄下:
框架
打開IIS管理器測試
右擊應用程序池-添加應用程序池:
右擊網站-添加網站,按如下配置添加:
至此,部署已完成
測試部署前需確認:
使用Postman調用接口,能夠正常訪問則部署成功:
若是遇到網站啓動失敗,對照官方文檔進行排錯
排錯思路:
stdoutLogEnabled
值改成true
,從新訪問網站,目錄下會生成錯誤日誌,根據錯誤日誌排錯或百度