星期四, 3月 17, 2022

[WebApi Core] 部屬至遠端 IIS

透過 VS 直接把 Core WebApi 部屬至測試環境上的 Windows Server 2019 上,主要步驟為
  • 安裝 IIS 並啟用遠端連線
  • 安裝 Microsoft .NET 6.0.3 Windows Server Hosting 服務
  • 安裝 Web Deploy 3.6
  • Core WebApi 部屬至 IIS
  • Postman 測試

安裝 IIS 並啟用遠端連線


在 Windows Server 2019 上安裝 IIS 並安裝 [管理服務],會一併安裝 ASP.NET 4.7

[WebApi Core] 透過 WebDeploy 進行部屬-1

[管理服務] 安裝完成後,可以在服務內看見 Web Management Service 

[WebApi Core] 透過 WebDeploy 進行部屬-2

在 IIS 管理員的 Server Node 上,可以看見下圖的 [管理服務]

[WebApi Core] 透過 WebDeploy 進行部屬-3

先把 IIS 停用後,才能勾選 [啟用遠端連線] 功能,設定完後再啟動 IIS

[WebApi Core] 透過 WebDeploy 進行部屬-4

安裝 Microsoft .NET 6.0.3 Windows Server Hosting 服務

從該 官方連結 下載安裝後,就可以在 IIS 管理員 => Server Node => 模組內看見,如下圖

[WebApi Core] 透過 WebDeploy 進行部屬-5

安裝 Web Deploy 3.6

從 官方連結 下載安裝,基本上是全部都要安裝

[WebApi Core] 透過 WebDeploy 進行部屬-6

從 Use the Web Deployment Tool 擷取出來的各功能說明
  • IIS Manager UI Module – UI module makes it possible for users to perform a subset of deployment tasks, mainly packaging or deploying a Web site or app. This module requires the installation of IIS 7 or above, or IIS Remote Manager. 
  • Remote Agent Service – An administrator-only service based on HTTP/HTTPS that allows server administrators to connect and perform remote operations. 
  • IIS Deployment Handler – A handler that integrates with Web Management Service (WMSvc) and allows non-administrators or administrators to perform remote operations. This handler requires the installation of IIS with WMSvc.
從 Installing and Configuring Web Deploy on IIS 8.0 or Later 擷取各服務 Port 說明
  • Web Deployment Agent Service (MsDepSvc):80 port
  • Web Management Service (WmSvc, also called the "handler"):8172 port

[Web Deploy - IIS Manager UI 模組] 對應 IIS 管理員,在 Server Node 和 Site Node 上都有部屬功能可以使用,下圖為合成圖

[WebApi Core] 透過 WebDeploy 進行部屬-7

[Web Deploy-管理服務委派 UI ] 對應 IIS 管理員,在 Server Node => 管理 => 管理服務委派

[WebApi Core] 透過 WebDeploy 進行部屬-9

[Web Deploy-遠端代理程式服務] 對應服務,為服務內的 Web Deployment Agent Service

  [WebApi Core] 透過 WebDeploy 進行部屬-8

Core WebApi 部屬至 IIS

 新增 IISWebDeploy Site 並 [啟用 Web Deploy 發行]

[WebApi Core] 透過 WebDeploy 進行部屬-10

該設定預設會放在桌面上

[WebApi Core] 透過 WebDeploy 進行部屬-11

在 VS 上開個 Core Web API Project,在 Project 上 => 滑鼠右鍵 => 發佈,選擇 [匯入設定檔]

[WebApi Core] 透過 WebDeploy 進行部屬-13

匯入完成後,必須點選 [更多動作],去填寫設定檔案內的使用者密碼

[WebApi Core] 透過 WebDeploy 進行部屬-15

輸入密碼後,下方有 [測試連線] 功能可以使用,下圖為連線成功截圖

[WebApi Core] 透過 WebDeploy 進行部屬-17

第一次連線會有下圖安全性憑證確認

[WebApi Core] 透過 WebDeploy 進行部屬-16

發佈成功後,就可以在 IISWebDeploy 資料夾內看見 Core Web API 檔案

[WebApi Core] 透過 WebDeploy 進行部屬-18
Postman 測試 

利用 Postman 來進行測試,要特別注意防火牆內是否有開啟 IIS Site 使用 Port,該筆記是 8082 Port

  [WebApi Core] 透過 WebDeploy 進行部屬-19

沒有留言:

張貼留言