Php

使用者使用 PHP 在不同伺服器上上傳文件?

  • September 25, 2011

如果我有十幾個只有 PHP-FPM 的“工作”伺服器(前面有其他 Nginx 伺服器),是否可以設置 PHP 將使用者上傳的文件儲存在不同的伺服器上?

我希望避免在每個“工作”伺服器上同步使用者文件。我想將使用者上傳的文件保存在隔離的伺服器上。對於需要公眾訪問的文件,它們可以通過 CDN 分發。

我想這樣做有幾個原因:

1)所有上傳文件的總文件大小為幾GB。其中 99% 是 jpg/png/pdf,但也有數千個。如果我添加另一個“工作”伺服器,我寧願不將這些文件同步到另一個伺服器。這些“工作”伺服器應該只包含應用程式碼並完成工作。

  1. 從安全的角度來看,我不希望使用者在這些伺服器上上傳文件。

所以我基本上想避免將這些文件寫在“工作”伺服器的硬碟上。

如果有的話,我有什麼選擇?

從您的儲存伺服器,將 NFS 共享導出到您的“工作”伺服器,然後安裝到您需要的工作伺服器上的任何位置。只要確保文件名和目錄是唯一的,就可以讓多台伺服器同時寫入同一個 NFS 導出。

絕對地。我的公司使用其 HTTP POST 介面將圖像/影片上傳直接上傳到 Amazon S3。效果很好。

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