共用方式為


同步處理 IIS

由信仰 A

本快速入門將引導您完成使用 Web 部署工具將 IIS 來源電腦上的網站同步處理至 IIS 目的地電腦的程式。 您可以將數據「推送」至遠端目的地,或透過從遠端來源「提取」數據來執行此動作。 本指南會顯示這兩種方法,以及使用套件檔案的選項,讓您不需要安裝 Web 部署代理程式服務(MsDepSvc 或「遠端代理程式服務」)。

您可以使用 Web 部署工具同步處理哪些方式?

  • 推送 (從本機來源同步至遠端目的地)
  • 擷取 (從遠端來源同步處理至本機目的地)
  • 獨立同步處理(從目的地和來源都遠端的電腦起始同步處理)
  • 手動本機同步處理 (建立來源的套件檔案,並將其複製到目的地,然後在本機執行)

必要條件

本指南需要下列必要條件:

  • .NET Framework 2.0 SP1 或更新版本
  • Web 部署工具 1.1

注意:如果您尚未安裝 Web 部署工具,請參閱 安裝和設定 Web 部署

第 1 部分 - 檢視網站的相依性

  1. 執行下列命令以取得網站的相依性:

    msdeploy -verb:getDependencies -source:apphostconfig="Default Web Site"
    
  2. 檢閱相依性的輸出,並尋找月臺正在使用的任何腳本對應或已安裝的元件。 例如,如果網站正在使用 Windows 驗證,您會看到 <相依性名稱=“WindowsAuthentication” />。

  3. 如果您的網站繼承任何腳本對應,這些對應將不會列在相依性中,您也應該手動檢閱網站的腳本對應。

  4. 編譯目的地上所需的元件清單。

如需分析 getDependencies 輸出的詳細步驟,請參閱 檢視網站相依性

第 2 部分 - 設定目標 (目的地)

檢閱相依性清單,並將其安裝在目的地伺服器上。 例如,假設您有下列專案用於您的網站:

  • ASP.NET
  • Windows 驗證
  • 匿名驗證

根據分析相依性,您會在目的地伺服器上安裝這些元件,再執行同步處理。

第 3 部分 – 將您的網站同步至目標

  1. 一律備份目的地和來源伺服器。 即使您只是測試,它也可讓您輕鬆地還原伺服器的狀態。 執行下列命令來備份 IIS 7 或更新版本伺服器:

    %windir%\system32\inetsrv\appcmd add backup "PreMsDeploy"
    
  2. 視您想要從遠端來源「提取」數據或將數據「推送」到遠端目的地而定,在來源或目的地上安裝遠端代理程序服務。

  3. 在電腦上啟動服務。

    net start msdepsvc
    
  4. 執行下列命令來驗證同步處理執行時會發生什麼事。 -whatif 旗標不會顯示每個變更;如果一切成功,它只會顯示可能變更的樂觀檢視(例如,它不會攔截您無法寫入目的地的錯誤。

    • 推送至遠端目的地,在來源計算機上執行 (computerName 自變數可識別遠端目的地電腦)。

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 -whatif > msdeploysync.log
      
    • 從遠端來源提取,在目的地計算機上執行 (computerName 自變數可識別遠端來源計算機)。

      msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
      
  5. 驗證輸出之後,請再次執行相同的命令,而不使用 -whatif 旗標:

    • 推送至遠端目的地,在來源計算機上執行

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 > msdeploysync.log
      
    • 從遠端來源提取,在目的地計算機上執行

      msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" > msdeploysync.log
      

{選擇性 - 使用套件檔案將您的網站同步處理至目標}

如果您不想使用遠端服務,您可以改用套件(壓縮檔案)。

  1. 在來源伺服器上執行下列命令,以建立網站的套件以進行同步處理:

    msdeploy -verb:sync  -source:apphostconfig="Default Web Site" -dest:package=c:\site1.zip
    
  2. 將封裝檔案複製到目的地伺服器。

  3. 在目的地伺服器上執行下列命令,以驗證同步處理執行時會發生什麼情況:

    msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
    
  4. 驗證輸出之後,請再次執行相同的命令,而不使用 -whatif 旗標:

    msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" > msdeploysync.log
    

您現在已完成同步處理您的網站。 若要確認,請測試流覽至目的地伺服器上的網站。 如需疑難解答說明,請參閱 針對Web Deploy進行疑難解答。

摘要

您現在已將網站從來源 IIS 伺服器同步處理至目的地 IIS 伺服器,包括檢視相依性、設定目的地 IIS 伺服器和執行同步處理。