同步場中的多個 wordpress Web 伺服器
我的公司很快將建立一個部落格,我正計劃建立兩個網路伺服器來託管 wordpress 網站以實現冗餘。通常,當我們發佈到農場中的站點時,我們會推送到一側,進行測試,然後再發佈到另一側。對於 wordpress 更新,我們可以很容易地做到這一點。然而,問題變成瞭如何處理 wp-content 文件夾。由於人們將發布文章並上傳圖形,因此無論使用者將它們上傳到哪個伺服器,這些都需要同步到場中的其他伺服器。
我可以設置 DFS 來複製文件,但這看起來有點矯枉過正。
我可以將 robocopy 設置為每 15 分鐘執行一次,然後告訴每個文章確保將文章安排在至少 15 分鐘內發布,以便文件有時間複製。
有沒有更好的解決方案?也許是一個 wordpress 外掛,這樣當圖形上傳到文章時,它們會自動複製到場中的其他伺服器?
我在 Windows 2008 上執行 Wordpress,所以 Linux 解決方案不會有太大幫助。
我們過去曾使用過超級靈活的文件同步器來處理這樣的事情。它工作得非常好,並且有許多選項來控制同步。
我不是 IIS 的嚮導,但希望該技術能夠轉化。
我假設在兩台伺服器之間有一個負載平衡的共享主機名,並且每個伺服器還有一個可公開訪問的名稱。
您想要的是在兩台伺服器之一上的條件重定向以及某種文件同步。如果 URI 以 /wp-content 開頭並且文件存在,則在本地提供它。否則重定向到其他伺服器。伺服器 A 重定向到 B,反之亦然。
這應該會為觀眾帶來無縫的體驗——他們只會在文章啟動和同步執行之間的視窗中獲得圖像的臨時重定向。根據頻寬或冗餘問題,您的同步間隔可能會遠遠超過 15 分鐘,因為該站點應該在文章發布的那一刻正確呈現。
在 nginx 中,我會使用這樣的塊來執行此操作:
location ~ ^/wp-content { if( -f $request_filename ) { expires max; break; } rewrite ^/(.+)$ http://otherserver.com/$1 last; }
nginx 可用於 Windows,但我懷疑您是否想切換 Web 伺服器軟體來執行此操作。希望這個想法可以轉換為 IIS 或您正在使用的任何軟體。