如果我只有PHP-FPM(前面有其他Nginx服务器)有一打“工作”服务器,是否可以设置PHP来将用户上传的文件存储在不同的服务器上?
我正在寻求避免同步每个“工作”服务器上的用户文件。 我想保持用户上传的文件在一个孤立的服务器上。 对于需要公众访问的文件,可以通过CDN进行分发。
我有几个想要这样做的原因:
1)所有上传文件的总和文件大小为几GB。 其中99%是jpg / png / pdf,但其中有成千上万。 如果我添加另一个“工作”服务器,我宁愿不将这些文件同步到另一台服务器。 这些“工作”服务器应该只包含应用程序代码并完成工作。
2)从安全angular度来看,我不希望用户上传这些服务器上的文件。
所以我基本上想避免在“Work”服务器的硬盘上写这些文件。
我有什么select,如果有的话?
从您的存储服务器上,将NFS共享导出到您的“工作”服务器,然后挂载到您需要的工作服务器上的任何位置。 只要确保文件名和目录是唯一的,就可以让多台服务器同时写入相同的NFS导出。
绝对。 我的公司使用HTTP POST界面将图像/video直接上传到Amazon S3。 效果很好。