將Web站點由IIS6遷移至IIS7

最近開始着手逐步將全部的Web站點由Win2003+IIS6遷移至64位Win2008+IIS7,基本還算順利。這裏就把相關內容整理總結一下。
首先天然是要安裝基本運行環境,包括iis,.net framework 1.1,3.5,4.0。這裏都沒有啥大問題,就是安裝.net frame1.1時會報一個兼容性問題的提示,這裏不須要理會,繼續安裝便可,但裝完後別忘了再安裝.net framework1.1 sp1。安裝完後還須要在machine.config里加上如下節點:
<section name="system.webServer" type="System.Configuration.IgnoreSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
其次就要將站點由IIS6遷移到IIS7了,若是服務器上應用系統少,部署簡單,那卻是能夠考慮拷貝部署目錄到新服務器,而後從頭進行配置的方式。但若是系統多,配置複雜,那這種方式顯然不可取,這時就要使用微軟的Web Deployment Tools實現遷移。Web Deployment Tools是一個比較好的工具,平時就在利用它實現多臺Web服務器的同步,但它無法實現IIS6到IIS7的同步,那隻好採用折中方式。
1.執行msdeploy -verb:getDependencies -source:webserver60命令,檢查源服務器的依賴關係,並確保這些依賴關係在目的服務器上已正確安裝配置。web

 

2.前後執行msdeploy -verb:sync -source:webserver60 -dest:archivedir=d:\iis,encryptPassword=password -whatif和-verb:sync -source:webserver60 -dest:archivedir=d:\iis,encryptPassword=password
其中前一條命令多了個-whatif選項,這是用於顯示該命令的預計執行結果,但不進行實際操做,這條命令執行無誤後能夠執行後一條命令,將整個站點導出到d盤iis目錄下。
3.將d盤iis目錄裏的全部內容拷貝到目的服務器,並在目的服務器上前後執行msdeploy -verb:sync -source:archivedir=d:\iis,encryptPassword=password -dest:webserver -whatif和msdeploy -verb:sync -source:archivedir=d:\iis,encryptPassword=password -dest:webserver將站點部署到IIS7上。這樣就完成了整個站點的遷移。
而後還要檢查一下各應用在新的環境下是否正常。這時候極可能就會發現.net framework1.1下的程序有問題,對應的應用程序池會顯示對應的.net framework版本爲2.0,且沒法選擇到1.1版本。服務器

這時能夠經過執行appcmd命令來實現.net framework版本切換,執行
appcmd set apppool "DefaultAppPool" /managedruntimeversion:v1.1命令,以後你就會發現.net framework版本已經改爲了1.1。
最後還要參照IIS6服務器的設置更改一下上傳文件的容許大小。.net的程序跟原來同樣修改machine.config便可,這裏就很少說了。asp程序的修改方法有所不一樣,Win2003+IIS6下是修改C:\WINDOWS\system32\inetsrv下的metabase.xml文件,但在Win2008+IIS7下就不須要那麼麻煩了,只要IIS裏配置ASP應用程序屬性便可。app

固然,若是是經過Web Deployment Tools進行遷移的,那這些設置就已經自動遷移過來了。工具

相關文章
相關標籤/搜索