同步處理 IIS
由信仰 A
本快速入門將引導您完成使用 Web 部署工具將 IIS 來源電腦上的網站同步處理至 IIS 目的地電腦的程式。 您可以將數據「推送」至遠端目的地,或透過從遠端來源「提取」數據來執行此動作。 本指南會顯示這兩種方法,以及使用套件檔案的選項,讓您不需要安裝 Web 部署代理程式服務(MsDepSvc 或「遠端代理程式服務」)。
您可以使用 Web 部署工具同步處理哪些方式?
- 推送 (從本機來源同步至遠端目的地)
- 擷取 (從遠端來源同步處理至本機目的地)
- 獨立同步處理(從目的地和來源都遠端的電腦起始同步處理)
- 手動本機同步處理 (建立來源的套件檔案,並將其複製到目的地,然後在本機執行)
必要條件
本指南需要下列必要條件:
- .NET Framework 2.0 SP1 或更新版本
- Web 部署工具 1.1
注意:如果您尚未安裝 Web 部署工具,請參閱 安裝和設定 Web 部署。
第 1 部分 - 檢視網站的相依性
執行下列命令以取得網站的相依性:
msdeploy -verb:getDependencies -source:apphostconfig="Default Web Site"
檢閱相依性的輸出,並尋找月臺正在使用的任何腳本對應或已安裝的元件。 例如,如果網站正在使用 Windows 驗證,您會看到 <相依性名稱=“WindowsAuthentication” />。
如果您的網站繼承任何腳本對應,這些對應將不會列在相依性中,您也應該手動檢閱網站的腳本對應。
編譯目的地上所需的元件清單。
如需分析 getDependencies 輸出的詳細步驟,請參閱 檢視網站相依性。
第 2 部分 - 設定目標 (目的地)
檢閱相依性清單,並將其安裝在目的地伺服器上。 例如,假設您有下列專案用於您的網站:
- ASP.NET
- Windows 驗證
- 匿名驗證
根據分析相依性,您會在目的地伺服器上安裝這些元件,再執行同步處理。
第 3 部分 – 將您的網站同步至目標
一律備份目的地和來源伺服器。 即使您只是測試,它也可讓您輕鬆地還原伺服器的狀態。 執行下列命令來備份 IIS 7 或更新版本伺服器:
%windir%\system32\inetsrv\appcmd add backup "PreMsDeploy"
視您想要從遠端來源「提取」數據或將數據「推送」到遠端目的地而定,在來源或目的地上安裝遠端代理程序服務。
在電腦上啟動服務。
net start msdepsvc
執行下列命令來驗證同步處理執行時會發生什麼事。 -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
驗證輸出之後,請再次執行相同的命令,而不使用 -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
{選擇性 - 使用套件檔案將您的網站同步處理至目標}
如果您不想使用遠端服務,您可以改用套件(壓縮檔案)。
在來源伺服器上執行下列命令,以建立網站的套件以進行同步處理:
msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:package=c:\site1.zip
將封裝檔案複製到目的地伺服器。
在目的地伺服器上執行下列命令,以驗證同步處理執行時會發生什麼情況:
msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
驗證輸出之後,請再次執行相同的命令,而不使用 -whatif 旗標:
msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" > msdeploysync.log
您現在已完成同步處理您的網站。 若要確認,請測試流覽至目的地伺服器上的網站。 如需疑難解答說明,請參閱 針對Web Deploy進行疑難解答。
摘要
您現在已將網站從來源 IIS 伺服器同步處理至目的地 IIS 伺服器,包括檢視相依性、設定目的地 IIS 伺服器和執行同步處理。