在較大型網(wǎng)站系統(tǒng)中,為實(shí)現(xiàn)負(fù)載平衡,我們可能會(huì)使用多個(gè)WEB服務(wù)器,也就會(huì)需要給多個(gè)IIS配置同樣的站點(diǎn)和應(yīng)用程序池。那么我們需要一個(gè)一個(gè)的重新建嗎?當(dāng)然不用,我們只需要一些簡(jiǎn)單的命令就可以在IIS7(Windows Server 2008)或IIS7.5(Windows Server 2008 R2)上來(lái)導(dǎo)出導(dǎo)入這些配置了。
當(dāng)我們?cè)贗IS7或IIS7.5上創(chuàng)建站點(diǎn)時(shí),IIS會(huì)為我們自動(dòng)創(chuàng)建一個(gè)對(duì)應(yīng)該站點(diǎn)的唯一的應(yīng)用程序池。所以我們要導(dǎo)入網(wǎng)站信息,就必須先導(dǎo)入應(yīng)用程序池信息。
在這有兩點(diǎn)需要特別說(shuō)明:
-
在進(jìn)行以下所有命令進(jìn)行操作里,都需要在CMD窗口執(zhí)行命令,而不能在Powershell窗口中。
-
%windir%實(shí)際上是Windows系統(tǒng)默認(rèn)設(shè)置的一個(gè)環(huán)境變量,表示W(wǎng)indows系統(tǒng)的安裝目錄,如果你的系統(tǒng)安裝在C盤(pán),那么它就可能等于C:Windows(如果系統(tǒng)安裝在D盤(pán),則可能是D:Windows,以此類推入。
一、應(yīng)用程序池
1、批量導(dǎo)出
%windir%system32inetsrvappcmd list apppool /config /xml > c:apppools.xml
導(dǎo)出的文件是一個(gè)xml,內(nèi)容類似下面這樣:
2、批量導(dǎo)入
%windir%system32inetsrvappcmd add apppool /in < c:apppools.xml
如果是操作完之后,發(fā)現(xiàn)少了一個(gè)兩個(gè)的,需要單獨(dú)導(dǎo)出其中一個(gè)應(yīng)用程序池的話,可以用以下命令:
3、單個(gè)導(dǎo)出
%windir%system32inetsrvappcmd list apppool “應(yīng)用程序池名稱” /config /xml > c:myapppool.xml
4、單個(gè)導(dǎo)入
%windir%system32inetsrvappcmd add apppool /in < c:myapppool.xml
二、站點(diǎn)
1、批量導(dǎo)出
%windir%system32inetsrvappcmd list s
導(dǎo)出的文件是一個(gè)xml,內(nèi)容類似下面這樣:
2、批量導(dǎo)入
%windir%system32inetsrvappcmd add site /in < c:sites.xml
如果是操作完之后,發(fā)現(xiàn)少了一個(gè)兩個(gè)的,需要單獨(dú)導(dǎo)出其中一個(gè)站點(diǎn)的話,可以用以下命令:
3、單個(gè)導(dǎo)出
%windir%system32inetsrvappcmd list site “站點(diǎn)名稱” /config /xml > c:mywebsite.xml
4、單個(gè)導(dǎo)入
%windir%system32inetsrvappcmd add apppool /in < c:myapppool.xml
三、最簡(jiǎn)單有效(最沒(méi)技術(shù)含量)的方法
上面說(shuō)的通過(guò)cmd命令來(lái)導(dǎo)入導(dǎo)出應(yīng)用程序池和站點(diǎn)配置,其實(shí)是在裝B?;旧蟻?lái)說(shuō)在負(fù)載平衡方案中使用的多臺(tái)WEB服務(wù)器,站點(diǎn)配置完全一樣,包括站點(diǎn)的物理路徑都一樣。也就是說(shuō)目標(biāo)IIS7服務(wù)器的網(wǎng)站目錄與源IIS7服務(wù)器網(wǎng)站目錄完全一致,那么在我們配置好一臺(tái)Web服務(wù)器后,其實(shí)只需要將以下文件
%windir%/System32/inetsrv/config/applicationHost.config
文件內(nèi)容類似下面這樣:
拷貝到目標(biāo)IIS7服務(wù)器的以下路徑:
%windir%/System32/inetsrv/config/
這一個(gè)文件拷過(guò)去之后,目標(biāo)Web服務(wù)器立馬會(huì)自動(dòng)生成所有站點(diǎn)以前站點(diǎn)對(duì)應(yīng)的應(yīng)用程序池。在拷貝之后依然可以對(duì)這個(gè)拷貝過(guò)來(lái)的文件進(jìn)行批量修改操作。比如:批量添加和修改所綁定域名。
總結(jié):
IIS7服務(wù)器之間遷移是非常簡(jiǎn)單的,由于IIS7將所有配置都存在xml文件中,不再使用二進(jìn)制的metabase來(lái)存儲(chǔ)配置,這對(duì)于遷移一個(gè)有成百上千網(wǎng)站的Web服務(wù)器無(wú)疑提供了更多的手段和方法。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » IIS7站點(diǎn)批量遷移到另一臺(tái)IIS7服務(wù)器