我可以為一個網站使用兩台不同的伺服器嗎?如何?

我可以為一個網站使用兩台不同的伺服器嗎?如何?

是否可以為同一網站使用兩台(或更多)伺服器並處理不同的資料?

例如,server1 有 page1.html,server2 有 page2.html,它們都可以從 存取www.site.com。是否可以?

你認為這怎麼可能?

好吧,每個 DNS 都指向特定的伺服器,但我發現我可以指定一些伺服器,例如 NS1、NS2、NS3...

我想做什麼?

我有一個基於 php 的現有網站,我想使用 asp.net-mvc 擴充網站。目前它們都安裝在同一台伺服器上,檔案位於同一虛擬目錄中。我想將它們拆分到兩個不同的伺服器。

伺服器詳細資訊:

Windows 伺服器 2008 R2 和 Windows 伺服器 2008。

聚苯乙烯

有人可以重新標記這個q嗎?我不知道什麼是正確的標籤。謝謝。

答案1

您可以使用第 7 層負載平衡器來完成此任務(或在不同的資料中心中使用一系列負載平衡器),它將針對特定 url 模式的請求定向到適當的後端。

Varnish、Squid、Apache、Nginx、Lighttpd 都可以很好地處理這個問題。 LVS 是 Linux 的軟體負載平衡器(在核心中),可以做到這一點http://www.linuxvirtualserver.org/ 還有一些商業產品可以處理它。

DNS 不會以您想要的方式將請求路由到正確的伺服器。 DNS 會將請求路由到最近的負載平衡器(如果您剛剛發布了每個均衡器 IP,則進行循環),然後均衡器將決定從哪個後端提供內容。

答案2

Microsoft NLB 將實現這一目標。只需設定 2 個不同的 IIS 伺服器,將它們放入 NLB 群集中,該群集在連接埠 80/443 上進行 50/50 拆分,然後將每個網站的不同版本放在每個節點的 inetpub 上。將您的 FQDN 配置為指向 NLB IP 位址,然後您將開始提供可透過導航至單一 URL 來存取的網站的 2 個版本。

請注意,這不允許您選擇要存取的節點,而是保證每個其他請求都會傳送到不同的伺服器

答案3

我今天在生產中使用 Apache 中的反向代理模組來執行此操作。 ProxyPass 指令將允許根據傳入的 URL 將請求傳遞到不同的後端伺服器。

設定前端 Apache 伺服器以偵聽 www.site.com,然後根據請求的 URL 將請求傳遞到兩個後端伺服器 server1 和 server2。 Google搜尋 Apache Reverse Proxy 提供了大量有關如何完成此操作的操作指南。

相關內容