在 IIS 上執行 ASP.NET Core
雖然,ASP.NET Core 的程式可以單獨執行(使用內建 kestrel 伺服器),但是 kestrel 畢竟是輕量化服務器,操作與設定不熟悉的人使用起來就會頗困難。 而且,在有規模公司裡面伺服器 IIS 管理人可能又跟寫這程式碼的人不是同一個人,因此大原則上,程式設計就歸程式設計,伺服器管理就歸伺服器管理是比較標準的做法。 那麼 IIS 上如何掛上 ASP.NET Core 的應用呢? 建議使用 IIS 8.0 以上的版本(官方建議啦),原則上就是 Server 2008 以上作業系統。 一、 下載執行環境套件 Runtime : Microsoft Visual C++ 2015 Redistributable (非必要,除非該機器沒有裝過,下載要注意X86或X64版本) .NET Core Runtime (注意你的SDK版本) 在下載 .NET Core Runtime 時,一般都是下載最新版即可,如下圖: 但是如果你的SDK(開發)版本差異太大,例如你使用 SDK 2.0,而 Runtime 使用 2.1 ,則可能發生程式無法執行的錯誤,建議更新 SDK 後再重新編譯程式放到伺服器上,不然就是安裝降版的 Runtime ,若要安裝其它版本 Runtime,請點選下面聯結,尋找適當版本的 Runtime: 選擇其他版本,例如 2.0 版 下載該版本的 Runtime 二、 在伺服器上,將 Microsoft Visual C++ 2015 Redistributable 與 .NET Core Runtime 安裝好。 三、 建立程式放置資料夾與設定權限,如果直接使用 IIS 的內定資料夾 C:\inetpub 者,則省略此步驟。我再這個案例是建立在 D:\inetpub\api ,所以必須增加資料夾使用權限給 IIS 使用。 四、 在IIS管理員裡面新增應用程式集區 名稱雖然可以自己訂,但要易於識別所以取名為 .NET Core,然後 .NET CLR 版本要選『沒有Managed程式碼』(Unmanaged Code)。 五之一、 新增站台方式(如果要繼續使用80port做為http的服務,請確認原本IIS的站台 Default W