共用方式為


手動安裝 Web 套件

作者:Jason Lee

本主題描述如何將 Web 部署套件手動匯入 Internet Information Services (IIS) 。

建置和封裝 Web 應用程式專案主題說明 IIS Web 部署工具 (Web Deploy) 如何搭配MICROSOFT BUILD ENGINE (MSBuild) 和 Web 發佈管線 (WPP) ,讓您將 Web 應用程式專案封裝成單一 zip 檔案。 此檔案通常稱為 Web 部署套件 (,或只是部署套件) ,包含 IIS 在 Web 服務器上重新建立 Web 應用程式所需的所有內容和組態資訊。

建立 Web 部署套件之後,您可以透過各種方式將其發佈至 IIS 伺服器。 在許多案例中,您會想要利用 MSBuild、WPP 和 Web Deploy 之間的整合點,在自動化或單一步驟建置和部署程式中從遠端建立和安裝 Web 套件。 此程式描述于 部署 Web 套件中。 不過,這不一定可行。 假設您想要將 Web 應用程式部署到網際網路面向的生產環境。 基於安全性考慮,這類生產環境至少可能位於與組建伺服器分開的子網防火牆後方,在周邊網路 (也稱為 DMZ、非目的地區域,以及篩選的子網) 。 在許多情況下,生產環境會位於不同的網域或實體隔離網路上。

在這些案例中,您唯一的選項可能是將 Web 套件移植到目的地伺服器,並手動將它匯入 IIS。 雖然這種方法排除自動化部署,但它仍然是發佈 Web 應用程式的高效能技術,您只要將單一 zip 檔案複製到網頁伺服器,並使用精靈引導您完成匯入程式。

本主題構成一系列教學課程的一部分,以名為 Fabrikam, Inc 的虛構公司企業部署需求為基礎。本教學課程系列使用範例解決方案連絡人 管理員解決方案來代表具有實際複雜層級的 Web 應用程式,包括 ASP.NET MVC 3 應用程式、Windows Communication Foundation (WCF) 服務和資料庫專案。

工作概觀

您必須完成這些高階工作,才能將 Web 部署套件匯入 IIS:

  • 使用 MSBuild 命令列、Team Build 或 Visual Studio 2010 建立 Web 部署套件。
  • 將 Web 套件複製到目的地 Web 服務器。
  • 使用 IIS 管理員中的 [匯入應用程式封裝精靈] 來安裝 Web 套件,並提供連接字串和服務端點等變數的值。

本主題將示範如何執行這些程式。 本主題中的工作和逐步解說假設您已經熟悉 Web 套件、Web Deploy 和 WPP 背後的概念。 如需詳細資訊,請參閱 建置和封裝 Web 應用程式專案

注意

本主題最適合用於設定 Web Server for Web Deploy Publishing (Offline Deployment) ,其說明如何安裝必要的元件,以及準備 IIS 網站以進行套件匯入。

建立 Web 部署套件

第一個工作是針對您要部署的 Web 應用程式專案建立 Web 部署套件。 您可以透過各種方式建立 Web 套件。

方法 1:使用 Visual Studio 建立套件作為建置程式的一部分

您可以在專案屬性頁的 [ 封裝/發佈 Web ] 索引標籤之後,設定 Web 應用程式專案,以在每次建置之後建立 Web 部署套件。 此程式描述于建置 和封裝 Web 應用程式專案

方法 2:使用 MSBuild 建立套件作為建置程式的一部分

如果您直接使用 MSBuild 建置 Web 應用程式專案,請透過自訂 MSBuild 專案檔或從命令列建立 Web 部署套件,您可以在命令中包含 DeployOnBuild=trueDeployTarget=Package 屬性,在建置程式中建立 Web 部署套件。 此程式說明于 瞭解建置程式

方法 3:在 Visual Studio 中視需要建立套件

您可以隨時在 Visual Studio 2010 中建立 Web 應用程式專案的 Web 部署套件。 若要這樣做,請在[方案總管]視窗中,以滑鼠右鍵按一下 Web 應用程式專案,然後按一下 [建置部署套件]。

若要建立 Web 應用程式專案的 Web 部署套件,請在 [方案總管] 視窗中,以滑鼠右鍵按一下 Web 應用程式專案,然後按一下 [建置部署套件]。

方法 4:從命令列視需要建立套件

您可以使用 MSBuild 叫用 Web 應用程式專案上的 套件 目標,從命令列建立 Web 部署套件。 此命令應該類似這樣:

MSBuild.exe [Path to your project].[csproj/vbproj] /T:Package

無論您使用哪一種方法,最終結果都相同。 WPP 會在 Web 應用程式專案的輸出檔案夾中,建立 Web 部署套件做為 zip 檔案,以及各種支援資源。

W P P 會在 Web 應用程式專案的輸出檔案夾中,建立 Web 部署套件做為 zip 檔案,以及各種支援資源。

當您打算手動匯入 Web 套件時,只需要 zip 檔案。 將此檔案複製到您的目標 Web 服務器,您可以開始匯入程式。

將 Web 套件匯入 IIS

您可以使用下一個程式,將 Web 部署套件從本機檔案系統匯入 IIS 網站。 執行此程式之前,請確定您擁有:

  • 將 Web 部署套件複製到 Web 服務器。
  • 已設定 IIS 網頁伺服器來裝載您的應用程式。

如需設定 IIS 網頁伺服器以支援 Web 部署套件的詳細資訊,請參閱設定 Web Server for Web Deploy Publishing (離線部署)

使用 IIS 管理員匯入 Web 部署套件

  1. 在 IIS 管理員的 [ 連線 ] 窗格中,以滑鼠右鍵按一下 IIS 網站,指向 [ 部署],然後按一下 [ 匯入應用程式]。

    在 I I S Manager 的 [連線] 窗格中,以滑鼠右鍵按一下 IIS 網站,指向 [部署],然後按一下 [匯入應用程式]。

  2. 在 [匯入應用程式封裝精靈] 的 [ 選取套件 ] 頁面上,流覽至 Web 部署套件的位置,然後按 [ 下一步]。

  3. 在 [ 選取套件的內容] 頁面上,清除您不需要的任何內容,然後按 [ 下一步]。

    在 [選取套件的內容] 頁面上,清除您不需要的任何內容,然後按 [下一步]。

    注意

    在許多情況下,您可能不想匯入 Web 部署套件隨附的所有專案。 例如,您可能不想允許 Web Deploy 取代相關聯的資料庫。
    授與許可權專案會設定目的地檔案系統的許可權,以確保應用程式集區身分識別可以存取儲存網站內容的實體資料夾。 此外,匿名驗證使用者會被授與資料夾的讀取權限,讓應用程式在 MIME) 類型檔案中提供 Multipurpose Internet Mail Extensions (。 如果您想要的話,您可以移除這些專案,並手動設定許可權。

  4. 在 [ 輸入應用程式封裝資訊] 頁面上,提供要求的資訊。

    在 [輸入應用程式封裝資訊] 頁面上,提供要求的資訊。

  5. 當您建立 Web 套件時,WPP 會分析應用程式的組態檔,並偵測任何變數,例如連接字串和服務端點。 在此案例中:

    1. 應用程式路徑 是您要安裝應用程式的 IIS 路徑。 此設定是 WPP 所建立之所有部署套件的常見設定。

    2. ContactService 服務端點位址 是應用程式應該用來與已部署 WCF 服務通訊的位址。 此設定會對應至 web.config 檔案中的專案。

    3. 第一個 連接字串 設定是 Web Deploy 應該用來部署與應用程式相關聯的資料庫 (,在此情況下為 ASP.NET 成員資格資料庫) 。 此設定對應于 Visual Studio 中 [ 封裝/發佈 SQL ] 索引標籤上的設定。

    4. 第二個 連接字串 設定是應用程式在啟動並執行時實際用來與資料庫通訊的連接字串。 這會對應至 web.config 檔案中的連接字串專案。

      注意

      如需這些參數的來源詳細資訊,請參閱 設定 Web 套件部署的參數

  6. 按一下 [下一步] 。

  7. 如果這不是您第一次將應用程式部署至此網站,系統會提示您指定是否要在安裝之前刪除所有現有的內容。 選擇適合您需求的選項,然後按 [ 下一步]。

    選擇適合您需求的選項,然後按 [下一步]。

  8. 當 IIS 完成安裝套件時,按一下 [完成]。

    當我 S 完成安裝套件時,按一下 [完成]。

此時,您已成功將 Web 應用程式發佈至 IIS。

結論

本主題描述如何使用 IIS 管理員將 Web 部署套件匯入 IIS 網站。 當安全性或基礎結構條件約束使遠端部署不可能或不想要時,Web 應用程式發佈的方法就適用。

深入閱讀

如需如何設定 IIS 網頁伺服器以支援手動匯入 Web 套件的指引,請參閱設定 Web Server for Web Deploy Publishing (離線部署) 。 如需部署 Web 套件的一般指引,請參閱逐步解說 :使用 Web 部署套件部署 Web 應用程式專案 (4) 的第 1 部分