[英]Best way to put a ASP.NET website version into production (IIS)
使網站投入生產以最大程度地減少因初始編譯和初始化而導致的停機時間的最佳方法是什么?
我不喜歡IIS 8應用程序初始化模塊,因為(據我所知)它需要更改計算機特定的配置(applicationHost.config),而我卻無法(也討厭)這樣做。
.net網站有多大投入生產? 是否有一個理想的解決方案,在新版本完全啟動並准備好替換舊版本之前,不要禁用舊版本。
您需要兩個群集,可以使用ARR或NLB進行設置。
在群集中有兩個節點,您只需禁用一個,以便所有流量都流向另一個。
然后,您在禁用的服務器上更新站點並對其進行預熱。 然后,您只需切換集群中的活動節點,以便所有新請求立即開始命中更新后的服務器。
然后,您靜默禁用另一個,在集群中升級,預熱並啟用。 停機時間為零。 同樣,在群集中至少有兩個節點是支持故障轉移方案的基本方法,並且應該被認為是可靠網站的必備條件。
如果您不想使用NLB或外部負載平衡服務(這是最佳做法!),則可能可以避免使用ARR +重寫規則和多個站點。 我不建議這有點過分
例如,假設您有1台IIS服務器和一個名為guestbook的應用程序,該應用程序位於guestbook.com上,則prod中的當前版本為5,並且您准備部署6
在服務器上創建了3個站點。 只有80和443應該向世界開放
在ARR_SITE上創建一個URL_Rewrite規則,該規則會將進入guestbook.com:80/的所有內容重寫為127.0.0.1:8080(Guestbook V5)
將訪客留言簿V6部署為新站點端口1010,並將其綁定為localhost / 127.0.0.1。
從可以訪問http://127.0.0.1:1010
的服務器訪問新站點一次。 這將初始化您的站點。 此時,現實世界無法訪問它,因為ARR正在將所有內容重寫為V5
現在更新您的重寫規則,使其指向127.0.0.1:1010(Guestbook V6)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.