2012-07-08 38 views
7

我有一個網站,現在當前使用2臺服務器,一個應用服務器和數據庫服務器,但在應用服務器上的負載增加,所以我們要添加第二個應用服務器。保持上載的文件同步跨多個服務器 - PHP的Linux

我遇到的問題是網站有用戶上傳文件到服務器。如何在兩臺服務器上獲取上傳的文件?

我不想直接存儲圖像數據庫作爲我們的應用程序的數據庫密集了。

有沒有辦法跨越對方服務器同步或者是有別的東西,我可以做什麼?

任何幫助,將不勝感激。

感謝

編輯:我加入的人,幫助我理解這個問題更加以下鏈接:

Synchronize Files on Multiple ServersKeep Uploaded Files in Sync Across Multiple Servers - LAMP

對於所有閱讀這篇文章NFS似乎是2.在

NFS的會更好保持文件同步,但您也可以在所有服務器上使用ftp to upload這些文件,但NFS看起來像是要走的路。

+3

我不會標記帖子,因爲我不知道它,但也許你可以有一個更好的運氣在http://serverfault.com 。我認爲這樣更合適,雖然「編程」解決方案是可能的。 – Zagorax 2012-07-08 18:44:50

+0

我會問那裏,如果我得到一個答案,我會發布在這裏爲那些誰需要它 – Dfranc3373 2012-07-08 18:53:22

+0

這裏是鏈接到[serverfault](http://serverfault.com/questions/405873/keep-uploaded-files同步跨多服務器燈/ 405892#405892)的問題。他們也有一些體面的回答,以及 – Dfranc3373 2012-07-08 20:52:17

回答

4

我從服務器故障這樣的回答:

在這樣的情況下采取行動的最合適的當然是打破文件共享到自己的單獨的服務。如果您的網絡可以讓文件「隨處(幾乎)」,請不要複製文件。「您可以通過NFS/CIFS或通過適當的存儲協議(如iSCSI)來執行此操作。作爲本地存儲掛載到相應的目錄中。根據您網絡的性能和存儲需求,這可能會在頁面加載時間中增加幾毫秒不可檢測的毫秒。

因此,使用NFS共享服務器上的文件將工作或

由@kgb你可以指定一個單一的服務器來存儲所有上傳的文件,並有其他的服務器撤出的規定(只是確保你運行一個cron或備份文件)

+1

這的確是最好的答案。我認爲NFS是正確的解決方案。你可以使用crontab,但是這樣你總是會有一些時間將文件存儲在一臺服務器上。通過NFS,它將完美工作。你應該把自己的答案標記爲可接受的,只要它是最適合你的問題的答案,而其他人可以很容易地找到答案,並且不會使用在我看來是錯誤的crontab/rsync方法和多餘的。 – Zagorax 2012-07-08 22:56:32

2

大多數網站使用第三方指定的文件服務器一樣Amazon S3用戶上傳解決這個問題。

1

您可以使用數據庫服務器存儲...並未在DB我的意思是,有一個web服務器運行過那裏。它不會增加很多CPU負載,但是需要更好的通道。

5

這是serverfault的問題。
無論如何,我認爲你絕對應該考慮進入「雲」。 從一臺服務器同步上傳到另一臺服務器簡直是不可靠的 - 你不知道你可以得到什麼樣的錯誤,爲什麼你可以得到它們。此外,同步過程將加載兩臺服務器。對我來說,正確的解決方案是在雲端進行。

,你應該選擇你有幾個解決方案的同步方法:

  1. 使用rsync同步您需要的服務器之間的文件。
  2. 使用crontab可以每X分鐘/小時/天同步文件。
  3. 複製在某些事件(用戶登錄等)
2

另一種答案可能是使用了一塊名爲BTSync軟件的文件,這是非常容易安裝和使用,可以讓你輕鬆保持文件根據需要跨越儘可能多的服務器進行同步。它只需要安裝3個終端命令並且非常高效。

Take a look here


and here

1

你可以用rsync的做吧..人已經開始使用NFS建議..但是你創建一個故障點這樣...如果NFS服務器宕機..你的服務器都擰了...糾正我,如果我錯了

相關問題