使用 Web 部署工具

由 Tali Smith

簡介

Microsoft® Web 部署工具可簡化 網際網路資訊服務 (IIS) Web 伺服器、Web 應用程式和網站的移轉、管理和部署。 管理員 istrators 可以使用命令行腳本搭配 Web 部署工具來同步處理 IIS 6.0 和 IIS 7 和更新版本伺服器,或將 IIS 6.0 伺服器移轉至 IIS 7 或更新版本。 Web 部署工具也可讓系統管理員和委派的使用者使用 IIS 管理員,將 Microsoft® ASP.NET 和 PHP 應用程式部署到 IIS 7 和更新版本伺服器。

使用 Web 部署工具,您可以:

  • 在 IIS 6.0 和 IIS 7 和更新版本 之間移轉 Web 應用程式 - 藉由判斷不相容和預覽建議的變更,再開始程式之前,簡化 IIS 6.0 至 IIS 7 和更新版本的移轉規劃。 事先瞭解任何潛在問題,可讓您有機會採取矯正措施並簡化移轉。
  • 同步處理您的伺服器陣列 - Web 部署工具可讓您透過偵測來源和目的地內容之間的差異,並只傳輸需要同步處理的變更,以有效率地同步處理 IIS 伺服器陣列中的月臺、應用程式或伺服器。 此工具可藉由自動判斷要針對特定月臺同步處理的組態、內容和憑證,來簡化同步處理程式。 除了預設行為之外,您仍然可以選擇指定同步處理的其他提供者,包括資料庫、元件物件模型 (COM) 物件、全域程式集緩存 (GAC) 元件和登錄設定。
  • 封裝、封存及部署 Web 應用程式 - 您可以使用 Web 部署工具來封裝已安裝 Web 應用程式的組態和內容,包括資料庫,以及使用套件進行記憶體或重新部署。 這些套件可以使用 IIS 管理員來部署,而不需要系統管理許可權。 此工具與 Microsoft® Visual Studio® 2010 整合,可協助開發人員簡化 Web 應用程式的部署至 Web 伺服器。

下載並安裝 Web 部署工具

Web 部署工具是一種 Managed 程式代碼架構,其中包含公用應用程式開發介面(API)和基礎引擎。 (這是最上層節點,無法移除。

  • IIS 管理員 UI 模組 – UI 模組 可讓使用者執行部署工作的子集,主要是封裝或部署網站或應用程式。 此模組需要安裝 IIS 7 或更新版本,或 IIS 遠端管理員。
  • 遠端代理程式服務 – 以 HTTP/HTTPS 為基礎的僅限系統管理員服務,可讓伺服器管理員連線並執行遠端作業。
  • IIS 部署處理程式 – 與 Web Management Service (WMSvc) 整合的處理程式 ,可讓非系統管理員或系統管理員執行遠端作業。 此處理程式需要使用 WMSvc 安裝 IIS。

選擇安裝選項

安裝 Web 部署工具之前,請先決定要使用遠端服務在兩部伺服器之間執行即時作業,還是偏好使用離線模式。

  • 遠端服務預設不會啟動,且設定為 [手動啟動]。 只有在作業期間才需要它執行,而且在不使用時可以停止。
  • 離線模式只是在沒有服務的情況下安裝工具。 您必須建立月臺或伺服器的本機複本,然後手動將此「快照集」或封存複製到目的地。

請注意,您只需要在來源或目的地上安裝遠端服務。 例如,若要將伺服器的所有內容「推送」到用戶端,您可以在所有用戶端電腦上安裝遠端服務,以便從來源推送內容。 或者,您可以讓每個用戶端從伺服器「提取」,而且只會在來源上安裝遠端服務。

使用預設遠端服務 URL 安裝工具

  1. 下載 Web 部署工具

  2. 執行 Windows®Installer 檔案以安裝此工具。

  3. 選取 [自定義安裝]。

  4. 按兩下遠端服務節點以安裝遠端服務。

  5. 完成安裝。

  6. 執行下列命令以手動啟動服務:

    net start msdepsvc
    
  7. 確定防火牆中已開啟埠 80。

使用自訂遠端服務 URL 安裝工具

  1. 下載 Web 部署工具

  2. 在 Windows Server 2008 上開啟系統管理命令提示字元,或在 Windows Server®® 2003 上開啟命令提示字元。

  3. 移至安裝程式檔案所在的目錄。

  4. 執行下列命令(自訂埠和網址規格):

    msiexec /i <msi_filename> /passive ADDLOCAL=ALL LISTENURL=http://+:8080/MSDEPLOY2/
    
  5. 執行下列命令以手動啟動服務:

    net start msdepsvc
    
  6. 請確定您選擇的埠已在防火牆中開啟。

此工具會安裝到 %programfiles%\IIS\Microsoft Web Deploy。 這無法變更。

安裝後啟動遠端服務

遠端服務預設會接聽 HTTP://+/msdeployagentservice/,或在您執行自定義安裝時所指定的 URL。

您現在應該會啟動遠端服務。 您可以移至 [啟動>執行],然後輸入 services.msc 來執行此動作。 此服務會列為 Microsoft Web 部署代理程式服務。

服務啟動預設為Manual;您可以將啟動設定為 Services.msc 中的 [自動]。 您也可以使用命令行工具Sc.exe,將啟動設定為 [自動]。

知識庫文章提供Sc.exe的詳細資訊。

使用 Web 伺服器陣列的 Web 部署工具

Web 部署工具可用來將新的應用程式部署至 Web 伺服器陣列,或讓 Web 伺服器數位伺服器之間的變更保持同步。 Web 部署工具目前不支援伺服器數位中伺服器清單的中央 UI 或組態存放區(例如,一次同步處理多部電腦),但您可以只儲存此伺服器清單,並針對每部伺服器執行同步處理作業。 您可以使用 Microsoft® System Center 或其他排程機制,輕鬆地排程這些同步處理作業。 可同步處理的資源包括網站或應用程式、內容資料夾和檔案、資料庫、登錄機碼,以及 GAC 中的元件等等。 您也可以建置自定義的「提供者」,以瞭解不支援的其他資源類型。 如需詳細資訊,請參閱 使用 Web 伺服器陣列的 Web 部署工具。

使用 Web 部署工具封裝及部署應用程式

如需使用 Web 部署工具封裝和部署應用程式的相關信息,請參閱下列文章。

從 IIS 6.0 移轉至 IIS 7 或更新版本

您可以使用 Web 部署工具來移轉:

  • 從 1 或 1,000 個網站從 IIS 6.0 到 IIS 7 或更新版本,包括所有組態設定、內容和憑證。
  • 單一應用程式。
  • 從 IIS 6.0 到 IIS 7 或更新版本的完整伺服器(包括所有網站和應用程式集區)。
  • 自定義指令清單,其中包含從 IIS 6.0 到 IIS 7 或更新版本的網站、應用程式集區、元件、COM 物件、登錄機碼和內容。

如需指示,請參閱 從 IIS 6.0 移轉至 IIS 7 和更新版本

同步處理網頁伺服器

您可以使用 Web 部署工具,將網站從來源同步處理到 IIS 6.0 或 IIS 7 或更新版本上的目的地。 您可以將數據「推送」至遠端目的地,或透過從遠端來源「提取」數據來執行此動作。 您也可以使用套件(壓縮檔案)來避免安裝遠端服務。 如需詳細資訊,請參閱下列文章:

Web 部署工具的功能

下列資訊是 Web 部署工具功能的廣泛清單:

  • 與 IIS 管理員和 Visual Studio 2010 介面緊密整合,以建立套件並將其部署至本機和遠端電腦。

  • Web 應用程式封裝:

    • 可以封裝 Web 應用程式或整個網站,包括相關聯的資料庫。
    • 可以封裝訪問控制清單(ACL)、COM、GAC 和登錄設定。
    • 支援即時伺服器和壓縮套件作為來源或目的地。
  • Web 應用程式部署:

    • 部署 Web 應用程式不需要 管理員 許可權。
    • 可以新增強大的參數,以在部署檔案時變更文字(例如在從品質保證部署到預備環境時提示取代 連接字串)。
    • 與非系統管理員進行遠端部署的 IIS Web Management Service(WMSvc) 整合。
    • 伺服器管理員對可執行的作業有細微的控制,而且可以將工作委派給非系統管理員。
  • Web 伺服器移轉與同步處理:

    • 可以同步處理或移轉整個 Web 伺服器、網站或應用程式。
    • 只同步處理已變更的數據。
    • 可以在同步處理期間偵測遺漏的相依性。
    • 當您同步處理網站時,自動收集內容、IIS 設定、安全套接字層 (SSL) 憑證,以及 ASP.NET 組態。
  • 除了使用 IIS 管理員和 Visual Studio 10 之外,也可以使用命令行、Windows PowerShell™ Cmdlet 或公用 API 來執行工作。

注意

本文基於:2009 年 9 月 1 日出版的 Faith Allington 的《安裝 Web 部署工具》的材料。