2009-09-15 44 views
1

我有一個來自我的客戶端的有趣請求,我試圖找出處理它的最佳方法 - 最好使用腳本。IIS6上的adsutil.vbs用法

他們希望我有2個生產站點。第一個是實際的現場網站,第二個是最後一個版本(以防我們需要回滾),並將成爲下一次升級的目標。一旦升級完成,他們希望「交換」所有頭信息(主機頭,IP,SSL等),以便我們有最少的停機時間。

我用下面允許多個網站使用443與SSL,它工作正常:

C:\Inetpub\AdminScripts>cscript.exe adsutil.vbs set /w3svc/1/SecureBindings ":443:www.test.com" 

現在,我想弄清楚如何腳本網站的交換,其中將包括然後重新添加SSL映射。

任何和全部的想法是受歡迎的,因爲我個人認爲這是最好的解決方案。 :)

----- NEW -------------------------------------- ------------
我想我找到了更好的方法來做到這一點。

set PROD1=502916593 
set PROD2=1319193536 

c: 
cd C:\Inetpub\AdminScripts\ 

cscript.exe adsutil.vbs get W3SVC/%PROD1%/root/path 
cscript.exe adsutil.vbs get W3SVC/%PROD2%/root/path 

SET CONFIRM= 
SET /P CONFIRM=Hit ENTER to make Prod1 active, 2 to make Prod2 active: 
IF ?%CONFIRM%? EQU ?? GOTO :P1 

:P2 
cscript.exe adsutil.vbs set W3SVC/%PROD1%/root/path c:\mywebs\prod2 
cscript.exe adsutil.vbs set W3SVC/%PROD2%/root/path c:\mywebs\prod1 
GOTO :EOF 

:P1 
cscript.exe adsutil.vbs set W3SVC/%PROD1%/root/path c:\mywebs\prod1 
cscript.exe adsutil.vbs set W3SVC/%PROD2%/root/path c:\mywebs\prod2 

:EOF 
cscript.exe adsutil.vbs get W3SVC/%PROD1%/root/path 
cscript.exe adsutil.vbs get W3SVC/%PROD2%/root/path 

有沒有人看到這種方法的任何缺點?

回答

2

在兩臺服務器之前放置負載平衡器不是更好嗎?正確的軟件可以讓用戶在會話期間保持舊版本(假設你正在使用會話)。否則,用戶在進行切換時將不得不再次登錄。

+0

我們目前在單個PROD服務器上。當業務擴展時,我們計劃在其後面放置負載均衡器和多個Web服務器。然後,我們可以按照您的建議對代碼進行滾動式促銷。在此之前,在一個服務器上,我相信這是我們的解決方案(儘管在任何附加用戶失去會話時,我們仍然會在推送過程中出現暫時的呃逆) – 2009-09-15 20:16:18