2017年11月28日 星期二

如何透過Web Deploy工具進行網站的轉移 - 舊版網站轉換(IIS6 -> IIS7 Up)

常見的當我們要進行網站的昇級、搬移或同步時,常需要將原先的網站同步到其他台的電腦上,所以本篇透過Web Deploy的工具整理一些常見的情況來說明如下,後續上如有遇到的話,也可以藉以參考,直接使用。

由於章節過多,所以我將此Web Deploy的部份分成幾個章節進行說明。在進行說明前,由於需要進行網站ID的設定,所以先說明在IIS上,該如何找到自已所需的ID編號,如下圖,點選站台後,即可看到。

識別方式:

舊版網站轉移:
目前在Windows 2003上,其實有下列的工具(IEMT)可以進行轉換,工具的使用方法很簡單,所以就不特別介紹,但有時候可能會發生無法轉換的情況,所以這時候就是將Web Deploy拿出來用的時候了。

轉換工具:
IIS Easy Migration Tool (IEMT)
https://www.iis.net/downloads/community/2013/04/iis-easy-migration-tool-iemt

在安裝上,由於Win2003只能安裝舊版本,在測試上只能安裝Web Deploy 1.1的版本。

工具下載:
1、Web Deploy 1.1(for Win2003):

在安裝後,請先確認下列的事項:
1、Web Deployment Agent Service是否有啟動。
2、由於彼此是透過Port 80進行,所以請確認是否有開啟。
3、如果要透過二台電腦直接進行同步時,請確認執行的身份,建議可以透過Domain Account進行。

執行同步方式:
1、登入目的端電腦。
2、開啟Dos Command視窗,切換到 C:\Program Files\IIS\Microsoft Web Deploy
3、輸入下列的指令:
msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=cary-srcweb -dest:metakey=lm/w3svc/1 -enableLink:AppPoolExtension -verbose
上述的指令在目的端電腦執行時,會將來源端的電腦(cary-srcweb)IIS站台中的ID編號1的站台,同步到目的端的ID編號1的站台上,-enableLink:AppPoolExtension會確認當AppPool不存在時,會自動建立,最後-verbose主要是指定執行過程中會輸出詳細的執行過程。

另外你也可以透過封存的方式進行,先將來源端上的網站封存成一個壓縮檔,然後再到目的地端上進行還原的動作。

執行封存的方式:
1、登入來源端電腦。
2、開啟Dos Command視窗,切換到 C:\Program Files\IIS\Microsoft Web Deploy
3、輸入下列的指令:
msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:package=c:\share\20170524weblist.zip,encryptPassword=12345 -enableLink:AppPoolExtension -verbose

還原封存的方式:
1、登入目的端電腦。
2、開啟Dos Command視窗,切換到 C:\Program Files\IIS\Microsoft Web Deploy
3、輸入下列的指令:
msdeploy -verb:sync -source:package=c:\share\20170524weblist.zip -dest: metakey=lm/w3svc/1,encryptPassword=12345 -enableLink:AppPoolExtension -verbose

參考網址:
Synchronize IIS 6.0 Web Sites
https://docs.microsoft.com/en-us/iis/publish/using-web-deploy/synchronize-iis-60-web-sites
Migrate a Web Site from IIS 6.0 to IIS 7 or above
https://docs.microsoft.com/en-us/iis/publish/using-web-deploy/migrate-a-web-site-from-iis-60-to-iis-7-or-above

1 則留言:

  1. This article uses the tools of Web Deploy to sort out some common situations to explain the following. If you encounter it, you can also use it for reference.

    回覆刪除