ASP .NET CORE MVC 部署Windows 系統上 IIS具體步驟---.Net Core 部署到 IIS位系統中的步驟

 1、IIS 配置web

啓用 Web 服務器 (IIS) 角色並創建角色服務。json

1Windows Ddesktop 桌面操做系統win7及更高版本)windows

導航到控制面板」 > 「程序」 > 「程序和功能」> 「啓用或關閉 Windows 功能 打開「Internet Information Services」組和「Web 管理工具 選中「IIS 管理控制檯, 選中萬維網服務框。 接受萬維網服務的默認功能,或自定義 IIS 功能。以下圖1瀏覽器

 

1服務器

2Windows Server 操做系統(本系統是 2012 R2 Standard工具

對於服務器操做系統,經過管理菜單或服務器管理器中的連接使用添加角色和功能嚮導。 服務器角色步驟中,選中「Web 服務器(IIS)框。測試

以下圖2網站

 

2spa

繼續執行確認步驟,安裝 Web 服務器角色和服務。 安裝 Web 服務器 (IIS) 角色後無需重啓服務器/IIS操作系統

2、安裝 .NET Core Windows Server 託管捆綁包

在託管系統上安裝 .NET Core Windows Server 託管捆綁包 捆綁包可安裝 .NET Core 運行時、.NET Core 庫和 ASP.NET Core 模塊。 該模塊建立 IIS Kestrel 服務器之間的反向代理。 若是系統沒有 Internet 鏈接,請先獲取並安裝 Microsoft Visual C++ 2015 Redistributable,再安裝 .NET Core Windows Server 託管捆綁包。

安裝完成之後須要重啓系統,或在命令提示符處依次執行 net stop was /y net start w3svc重啓服務,瞭解系統路徑的更改。

3、 Visual Studio內使用Web 發佈系統

本系統發佈使用的是vs2017 企業版本,發佈系統MmPS,發佈成文件系統

一、vs2017 中選中項目MmPS,右鍵,點擊 發佈 選項

 

二、 發佈 按鈕下面 選擇 建立新配置文件

 

3、點擊 發佈,便可完成發佈系統MmPS,發佈的項目在MmPS項目的bin\Release\PublishOutput 下的MmPSPublish

4、web.config的配置

1web.config 文件

web.config 文件的主要用途是配置 ASP.NET Core 模塊。 它能夠提供其餘 IIS 配置設置。 web.config 的建立、轉換和發佈 由 .NET Core Web SDK (Microsoft.NET.Sdk.Web) 處理。 SDK 設置在項目文件 <Project Sdk="Microsoft.NET.Sdk.Web"> 的頂部。 要防止 SDK 轉換 web.config 文件,請將 <IsTransformWebConfigDisabled> 屬性添加到項目文件,並將其設置爲 true

XML

<PropertyGroup>  <IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>

</PropertyGroup>

若是項目中有 web.config 文件,則會使用正確 processPath 和參數轉換該文件,以便配置 ASP.NET Core 模塊,並將該文件移動到已發佈的輸出。 轉換不會修改文件中的 IIS 配置設置。

2web.config 位置

.NET Core 應用經過 IIS Kestrel 服務器之間的反向代理託管。 爲了建立反向代理,web.config 文件必須存在於已部署應用的內容根路徑(一般爲應用基路徑)中,該路徑是向 IIS 提供的網站物理路徑。 若要使用 Web部署發佈多個應用,應用的根路徑中須要包含web.config 文件。敏感文件存在於應用的物理路徑中,包括子文件夾,如 <assembly_name>.runtimeconfig.json<assembly_name>.xmlXML 文檔註釋)和 <assembly_name>.deps.json。 存在 web.config 文件並使用該文件配置站點時,IIS 會阻止提供這些敏感文件。 所以,切勿意外重命名 web.config 文件或將其從部署中刪除,這一點很是重要。

三、web.config 內容的配置

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

  <system.webServer>

    <handlers>

      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />

    </handlers>

    <aspNetCore processPath="dotnet" arguments=".\MmPS.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />

    <modules runAllManagedModulesForAllRequests="true" />

    <directoryBrowse enabled="false" />

</system.webServer>

</configuration>

注:stdoutLogEnabled 是記錄日誌的,一本設置爲true,方便查錯。

5、IIS上部署建立 IIS 網站

1、在目標 IIS 系統上,建立一個文件夾,將應用的已發佈文件夾和文件包含在其中,如MmPS項目的bin\Release\PublishOutput 下的MmPSPublish

2、在文件夾中建立一個「日誌」文件,用於在啓用 stdout 日誌記錄時保存 stdout 日誌。 若是部署應用時有效負載中包含了「日誌」文件夾,請跳過此步驟。

3、在 IIS 管理器中建立新網站。 提供網站名稱,並將物理路徑設置爲應用的部署文件夾。 提供「綁定」配置並建立網站。

 

四、「應用程序池」設置爲「無託管代碼」。 ASP.NET Core 在單獨的進程中運行,並管理運行時。

 

五、選中網站,右鍵 管理網站,瀏覽,既可運行網站了。

 

 

6、因爲IIS會隨着開機啓動而自動啓動網站服務,所以無需配置supe開機啓動守護進程了。

7、測試

在瀏覽器中輸入IP地址,看看網站是否能夠正常行。

 

參考連接:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?tabs=aspnetcore2x

相關文章
相關標籤/搜索