編輯

共用方式為


將 C# ASP.NET Web 應用程式部署至 Azure Stack Hub 中的 VM

您可以建立虛擬機 (VM),在 Azure Stack Hub 中裝載 C# ASP.NET Web 應用程式。 本文說明如何設定伺服器、將其設定為裝載 C# ASP.NET Web 應用程式,然後直接從 Visual Studio 部署應用程式。

本文是關於使用 Azure Stack Hub。 您可以使用 Azure Stack Hub 在資料中心執行 Azure。 如果您要尋找全域 Azure 的指引,請參閱 使用 Visual Studio 將 ASP.NET Core 應用程式發佈至 Azure。

必要條件

建立 VM

建立 VM,然後安裝裝載 .NET Web 應用程式所需的元件。 您需要在 VM 上部署 IIS 管理控制台、Web 管理服務、.NET 運行時間,以及Microsoft Web Deploy。 您必須從開發電腦開啟 Web 伺服器和 Web Deploy 的埠。 安裝 .NET 運行時間時,請確定您在目標伺服器和開發計算機上使用相同的 .NET 版本。

  1. 建立 Windows Server VM

  2. 若要在 VM 上安裝 IIS (使用 Management Console) 和 .NET 5.0 元件,請在 PowerShell 5.x 控制台中執行下列腳本:

    # Install IIS (with Management Console)
    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
    # Install Web Management Service
    Install-WindowsFeature -Name Web-Mgmt-Service
    
  3. 在您的 VM 上下載 .NET 5.0

  4. 下載 Web Deploy v3.6。 從 MSI 檔案安裝它,然後啟用所有功能。

  5. 在 Azure Stack Hub 入口網站中,開啟 VM 網路設定中列出的埠。

    a. 開啟租使用者的 Azure Stack Hub 入口網站。

    b. 搜尋您的 VM。 您可能已將 VM 釘選到儀錶板,或者您可以在 [搜尋資源] 方塊中搜尋它。

    c. 選取 [網路功能]。

    d. 選取 [VM] 下的 [新增輸入埠規則 ]。

    e. 新增下列埠的輸入安全性規則:

    連接埠 通訊協定 描述
    80 HTTP 超文本傳輸通訊協定 (HTTP) 是用來從伺服器傳遞網頁的通訊協定。 用戶端會透過 HTTP 與 DNS 名稱或 IP 位址進行連線。
    443 HTTPS 超文本傳輸通訊協定安全 (HTTPS) 是一種安全版本的 HTTP,需要安全性憑證,並允許加密的資訊傳輸。
    22 SSH 安全殼層 (SSH) 是加密的網路通訊協定,用於安全通訊。 您將使用此連線與 SSH 用戶端來設定 VM 並部署應用程式。
    3389 RDP 選擇性。 遠端桌面通訊協定允許遠端桌面連線使用您機器的圖形使用者介面。
    8172 自訂 Web Deploy 所使用的埠。

    針對每個埠:

    a. 針對 [來源],選取 [任何]

    b. 針對 [來源埠範圍],輸入星號 (*)。

    c. 針對 [ 目的地],選取 [ 任何]。

    d. 針對 [ 目的地埠範圍],新增您要開啟的埠。

    e. 在 [通訊協定] 中,選取 [任何]

    f. 在 [動作] 中,選取 [允許]

    .g 針對 [ 優先順序],保留預設選取範圍。

    h. 輸入 [名稱] 和 [描述],協助您記住埠開啟的原因。

    i. 選取 [新增]。

  6. 在 Azure Stack Hub 中 VM 的 [ 概觀 ] 設定中,為您的伺服器建立 DNS 名稱。 用戶可以使用URL連線到您的網站。

    a. 開啟租使用者的 Azure Stack Hub 入口網站。

    b. 搜尋您的 VM。 您可能已將 VM 釘選到儀錶板,或者您可以在 [搜尋資源] 方塊中搜尋它。

    c. 選取 [概觀]。

    d. 在 [DNS] 底下,選取 [設定]。

    e. 針對 [ 指派],選取 [ 動態]。

    f. 輸入 DNS 名稱標籤,例如 mywebapp,讓您的完整 URL 變成類似 mywebapp.region.cloudapp.azurestack.corp.contoso.com

建立應用程式

您可以使用 Visual Studio 中的預設 .NET 應用程式、您自己的 Web 應用程式,例如 使用 Visual Studio 將 ASP.NET Core 應用程式發行至 Azure。 本文說明如何使用 Visual Studio 2019 中的 Azure 虛擬機器 發佈功能,建立和發佈 ASP.NET Web 應用程式至 Azure 虛擬機。 在您安裝應用程式並確定您的應用程式在本機執行之後,您會將發佈目標更新至 Azure Stack Hub 實例中的 Windows VM。

部署並執行應用程式

在 Azure Stack Hub 中,從開發電腦建立發佈目標至 VM。

  1. 方案總管 中,以滑鼠右鍵按下您的項目,然後選取 [發佈]。

    將 ASP.NET Web 應用程式部署至 Azure Stack Hub 發佈

  2. 在 [ 發佈] 視窗中,選取 [ 新增]。

  3. 選取 [網頁伺服器] [IIS]。

  4. 選取 [下一個>Web 部署>下一步]。

  5. 針對 [ 伺服器 ] 輸入您稍早定義的 DNS 名稱, 例如 mywebapp.region.cloudapp.azurestack.corp.contoso.com

  6. 針對 [月臺名稱],輸入 Default Web Site或目標伺服器上 IIS 中使用的名稱。

  7. 針對 [ 用戶名稱],輸入計算機的用戶名稱。

  8. 針對 [ 密碼],輸入計算機的密碼。

  9. 針對 [ 目的地 URL],輸入網站的 URL,例如 http://mywebapp.region.cloudapp.azurestack.corp.contoso.com

    部署 ASP.NET Web 應用程式 - 設定 Web Deploy

  10. 若要驗證 Web 部署組態,請選取 [ 驗證連線],然後選取 [ 下一步]。

  11. 將 [組態] 設定[發行]。

  12. 將目標 Framework 設定net5.0

  13. 將部署模式設定架構相依

  14. 將 [目標運行時間] 設定win-x64

  15. 選取儲存

  16. 選取發行。 您應該會在 Visual Studio 的控制台中看到下列輸出:

    Publish Succeeded.
    Web App was published successfully http://mywebapp.region.cloudapp.azurestack.corp.contoso.com/
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
    ========== Publish: 1 succeeded, 0 failed, 0 skipped ==========
    
  17. 移至您的新伺服器。 您應該會看到執行中的 Web 應用程式。

    mywebapp.region.cloudapp.azurestack.corp.contoso.com