iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 30
1
Modern Web

.Net Core 網站開發 101系列 第 30

Deploy 部屬

終於到最後一天啦!!!!!

之前我們開發的網站都只能在本機開發環境執行,但醜媳婦總要見公婆網站總會有正式上線見人的一天,今天就來說明怎麼在伺服器上部屬 ASP.NET Core MVC 應用程式。

Windows IIS

需求的作業系統版本:

  • Windows 7 以上
  • Windows Server 2008 R2 以上

另外需要安裝最新版本的 .NET Core Hosting Bundle,安裝完後需要重新啟動作業系統,或執行下列命令。

net stop was /y
net start w3svc

安裝的 ASP.NET Core 模組是原生的 IIS 模組,IISASP.NET Core 模組應用程式之間的關係如下圖:
https://ithelp.ithome.com.tw/upload/images/20181113/20107875ePzq7fo9Sm.png

圖片來源:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/aspnet-core-module

Program.cs 中的 CreateWebHostBuilder 時還需要呼叫 UseIISIntegration 方法。如果是使用 WebHost.CreateDefaultBuilder 的話,原本就有呼叫了。

public class Program
{
    public static IWebHostBuilder CreateWebHostBuilder(string[] args)
    {
        var startupAssemblyName = typeof(Startup).GetTypeInfo().Assembly.FullName;

        return WebHost.CreateDefaultBuilder(args)
            .UseStartup(startupAssemblyName)
            .UseIISIntegration();
    }
}

在 VS 2017 中發佈專案:

  1. 在上方 menu 選擇「建置 > 發行 ironman2018」
    https://ithelp.ithome.com.tw/upload/images/20181113/20107875D5S7dWtog2.png
  2. 第一次發行時需要選擇發佈目標,這邊選擇「資料夾」,預設路徑是 bin\Release\netcoreapp2.1\publish\
    https://ithelp.ithome.com.tw/upload/images/20181113/20107875L7Lm4XBi7A.png
  3. 點選發佈,就會開始建置並發行
    https://ithelp.ithome.com.tw/upload/images/20181113/20107875B4S0qzDZ99.png
  4. 發佈完成的檔案目錄,將檔案複製到伺服器上
    https://ithelp.ithome.com.tw/upload/images/20181113/20107875wxQOQpLKxr.png

IIS 設定:

  1. 新增「應用程式集區」
    https://ithelp.ithome.com.tw/upload/images/20181113/20107875Un5MosOEr1.png
  2. 新增「網站」
    https://ithelp.ithome.com.tw/upload/images/20181113/20107875Bnrn0voQEY.png
  3. 完成!
    https://ithelp.ithome.com.tw/upload/images/20181113/20107875k9r7B6WaRf.png

參考資料


上一篇
Response Compression 壓縮回應
下一篇
完賽感言 & 目錄整理
系列文
.Net Core 網站開發 10131

1 則留言

0
莉森揪
iT邦新手 5 級 ‧ 2018-11-13 22:35:45

恭喜恭喜~/images/emoticon/emoticon42.gif

我要留言

立即登入留言