2012-08-14 42 views
3

我有一箇中小型的Django項目,客戶端被迫更改主機。新主機說服他們,他們確實需要負載平衡器後面的幾個Web服務器(並將數據庫分解到第三臺服務器)。我已將所有內容移植到新安裝程序,但我無法使其生效,因爲我不確定在網站上處理文件上傳的最佳方式是什麼,因爲它們只會被推送到用戶當前的服務器上連接到。鑑於三臺服務器(如果需要,可以將db作爲靜態文件服務器來計算),處理這種情況的最簡單最方便的方法是什麼?在負載平衡器的後面處理Django站點上的上傳

+0

你會不會有服務器之間共享文件系統,你將擁有所有網絡工作者寫它,所以它不會真的很重要? – 2012-08-14 18:20:53

+0

現在是兩個獨立的盒子。我以前從來沒有處理過這個問題,所以我不確定 - 共享文件系統如何工作? – Tom 2012-08-14 18:23:11

+0

有點像nfs?你現在如何靜態提供服務? – 2012-08-14 18:25:29

回答

1

簡單的解決方案雖然有一些延遲,但不能擴展到幾臺服務器之外 - 在主機之間使用rsync。簡單地把它添加到cron來做上傳目錄同步這兩種方式,粘滯會話將在這裏幫助 - 這樣上傳者會立即看到他們的文件可用,其他訪問者將能夠在下一個rsync完成後獲得文件。

這樣你也可以得到一個免費的備份。

/usr/bin/rsync -url --size-only -e "ssh -i servers_ssh.key" [email protected]:/dir /dir 

(你必須有這個在cron兩臺服務器上)

+0

是的,這是最好的我可以拿出一個簡單的解決方案。謝謝。 – Tom 2012-08-24 14:30:42