Windows

使用 robocopy 進行 IIS 複製的 Wordpress

  • December 18, 2017

我們在 4 個 IIS 伺服器上設置了一個 wordpress 環境。我們正在考慮使用觸發 robocopy 腳本的計劃任務每 5 分鐘複製一次 wordpress 目錄。

對這種做法有何看法?有沒有人用過這個或類似的?

感謝所有建議的人。

我們的解決方案是使用名為 resilio 的工具使用對等同步方法。

Resilio 允許我們在對等同步集群中配置多台電腦(在本例中為 IIS 前端)。從集群中的每台電腦中選擇一個文件夾用於同步過程。

resilio 服務(在後台執行的 Windows 服務)監視這些文件夾是否有任何更改,如果對相關前端的任何指定文件夾進行更改,resilio 會將更改推送到其他伺服器。

我希望這可以幫助其他人將來面臨類似問題。

擁有 4 個前端伺服器同時共享相同的文件,並且每個都能夠在不使用某種 DFS 或專用於目錄同步的第三方程序的情況下進行寫入,這將是一場噩夢。

使用 azure,您可以查看 3 件事。

  1. 共享儲存,獲得自己的專用儲存可能會產生一些成本,我不確定配置,但 Azure 確實提供了這個。這將確保您的所有文件在寫入後立即可供每台伺服器使用。
  2. Azure DFS,DFS 是一個基於 Windows 的目錄同步工具,效果很好,也不確定成本,但配置可能會更容易一些。DFS 確實是非同步工作的,所以會有一點延遲,但不會太多。
  3. (我將解釋如何做到這一點,然後再也不談論它,因為這是一個可怕的想法並且會失敗。)創建一個腳本,首先比較所有四台伺服器上的數據,然後複製差異數據。您需要將每個目錄共享給執行腳本的一台伺服器,設置權限以便伺服器可以讀取和寫入,然後進行故障排除故障排除、故障排除。

上面的任何一個選項都可以完成這項工作,如果您的工作依賴於這項工作,我建議您遠離選項 3。

話雖如此,而且您不想花錢,請按照以下步驟操作。

  1. 查看一個名為“免費文件同步”的程序。免費版本有一些非常好的功能我相信有一個付費版本,但我不確定你得到的增強。當我試圖實現與您想要做的類似的事情並且懶得設置 DFS 時,我已經在我的很多開發環境中使用了它。
  2. 只讓一個伺服器可寫,這可以通過在每台伺服器上配置一個 URI 來輕鬆完成,該 URI 說明是否創建文章轉到 ServerA,或者在 web.config 中重寫 URL,或者 WordPress 是 php 使用:

header(‘位置: http: //myhost.com/mypage.php ‘);

每個都需要一點編碼和PHP、IIS知識。

  1. 真正有趣的部分是,ServerA 是作者伺服器(僅可寫伺服器),我們如何在沒有負載平衡器的情況下將流量引導到 ServerB、ServerC 和 ServerD 以進行讀取?

簡短的回答你不能,那不完全正確,我有一個客戶堅持不使用負載平衡器,他能夠通過一系列 powershell 腳本根據數量將連接從一個伺服器移動到另一個伺服器每個盒子上的工作程序或類似的東西。無論哪種方式都很難做到,不值得花費時間和精力。

看看你是否不能在伺服器上配置網路負載平衡,它需要一個額外的 IP,但它只有一個 DNS 更改,並且流量可以分佈在 3 台伺服器上讀取。

祝你好運!

引用自:https://serverfault.com/questions/813735