熱門文章

      最新文章

      IIS部署ASP.NET5的實現步驟

      發布時間:2021-06-22 15:26:45

      介紹

      Internet Information Services (IIS) 是一種靈活、安全且可管理的 Web 服務器,用于托管 Web 應用(包括 ASP.NET Core)。雖然我們的程序可以跨平臺了,不過還是有些服務是部署在windows服務器下的,下面我們就從頭開始部署下我們的程序到IIS.

      本次示例環境:Windows Server 2012 R2 、vs2019、MySQL、.net5

      安裝環境

      支持平臺

      • Windows 7 或更高版本

      • Windows Server 2012 R2 或更高版本

      本次代碼將安裝在Windows Server 2012 R2 版本上,感覺這個版本使用的公司還不少。

      安裝ASP.NET Core托管捆綁包

      安裝的文件應該和項目對應的版本相同,現在我項目使用的.net版本是5,那么我應該也用5的,下載地址是:此處

      安裝其他版本的請參考官網地址:.NET Core托管捆綁包

      捆綁包可安裝 .NET Core 運行時、.NET Core 庫和 ASP.NET Core 模塊。 該模塊允許 ASP.NET Core 應用在 IIS 運行。

      安裝后查看應用程序目錄

      發布項目

      新建一個net5 WebAPI程序,當前程序主要包含一個用戶控制器(包含用戶信息的增刪改查)并且連接MySQL數據庫。

      項目結構如下

      源碼地址:https://gitee.com/AZRNG/my-example 需要自取

      通過vs2019發布我們的項目,然后將發布后的項目拷貝到要部署的服務器上面。

      發布后如下

      為了正確設置 ASP.NET Core 模塊,web.config 文件必須存在于已部署應用的根路徑中。里面可以設置一些環境、日志等配置。

      托管方式

      進程內托管(IIS HTTP 服務器)

      自 ASP.NET Core 3.0 起,默認情況下已為部署到 IIS 的所有應用啟用進程內托管。

      進程內托管在與其 IIS 工作進程相同的進程中運行 ASP.NET Core 應用。 進程內承載相較進程外承載提供更優的性能,因為請求并不通過環回適配器進行代理,環回適配器是一個網絡接口,用于將傳出的網絡流量返回給同一計算機。

      該圖說明了 IIS、ASP.NET Core 模塊和進程內托管的應用之間的關系

      顯式配置進行內托管,需要在項目文件(.csproj)中增加如下配置

      1
      2
      3
      <PropertyGroup>
        <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
      </PropertyGroup>

      進程外托管(Kestrel服務器)

      由于運行 ASP.NET Core 進程與 IIS 工作進程分開,所以ASP.NET Core 模塊會負責進程管理。

      該圖說明了 IIS、ASP.NET Core 模塊和進程外托管的應用之間的關系

      進程外托管配置,在項目文件 ( .csproj) 中將 屬性的值設置為 OutOfProcess

      1
      2
      3
      <PropertyGroup>
        <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
      </PropertyGroup>

      關于兩種托管方式的差異:此處

      部署項目

      將項目進行發布,然后拷貝到我們的服務器一個文件夾內。

      打開IIS添加網站,選擇物理路徑為我們項目文件

      修改應用程序池為無托管模式

      啟動程序轉到swagger頁面

      因為當前我并沒有連接數據庫,直接調用接口應該報錯,我們看下錯誤日志。啟動輸出日志

      說明我們項目已經部署成功了

      如果出現了錯誤可以查看點此處查看常見錯誤解決方案:此處

      題外話:當初部署2.1版本時候,windows server 2012r2需要打好幾個補丁,并且需要重啟多次,沒想到這次安裝net5這么順利(服務器是從朋友那借的,我自己的是linux),如果你所在公司需要部署.net,還是推薦linux進行部署。

      參考文檔

      https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-5.0

      到此這篇關于IIS部署.Net5的實現步驟的文章就介紹到這了,


      返回頂部
      主站蜘蛛池模板: 亚洲午夜精品一区二区| 亚洲电影唐人社一区二区| 亚洲A∨精品一区二区三区下载| 亚无码乱人伦一区二区| 精品国产毛片一区二区无码| 91视频一区二区| 国产亚洲一区二区手机在线观看| 国产丝袜无码一区二区视频| 蜜桃传媒一区二区亚洲AV| 亚洲AV成人一区二区三区AV | 亚洲av无码一区二区三区乱子伦 | 亚洲福利视频一区| 国产另类ts人妖一区二区三区| 日本精品高清一区二区2021| 激情内射亚洲一区二区三区爱妻 | 国产精品一区电影| 久久久国产精品无码一区二区三区 | 亚洲国产精品一区二区第四页| 国产福利一区视频| 国产精品一区二区电影| 成人区人妻精品一区二区不卡| 国产成人综合一区精品| 国模私拍福利一区二区| 中文字幕乱码人妻一区二区三区 | 少妇无码AV无码一区| 久久成人国产精品一区二区| 亚洲福利视频一区二区| 久久精品国产一区二区| 国产成人无码AV一区二区在线观看| 一区二区三区久久精品| 精品福利一区二区三区| 国产午夜精品一区理论片| 日韩精品在线一区二区| 亚洲国产av一区二区三区丶| 国产成人亚洲综合一区| 国产一区在线观看免费| 色狠狠一区二区三区香蕉蜜桃| 亚洲国产精品无码久久一区二区| 精品性影院一区二区三区内射| 伊人久久精品一区二区三区| 国产在线精品一区二区在线看 |