将一个卷用于多个 EC2 服务器

将一个卷用于多个 EC2 服务器

我安装了将托管 wordpress 网站的 ubuntu 服务器。我使用的技术是:

  1. nginx + php5-fpm 作为 Web 服务器
  2. vernish 作为缓存系统
  3. mysql 数据库服务器(RDS)。

问题是,当我上传 wordpress 媒体时,它会将数据保存在其中一台服务器中,而我想使用带有负载均衡器的多台服务器,据我所知,我需要在服务器之间使用一些共享并将其安装到每台服务器上。

我的问题:

有没有办法用 AWS 来做到这一点?或者我需要创建另一台服务器仅用于托管我正在上传的文件?我应该选择哪种文件共享作为 EC2 服务器之间的文件共享系统?

答案1

它可能更容易使用S3为媒体上传提供服务而不是尝试同步远程EC2文件系统或者通过以下方式共享一个文件系统就像是NFS

答案2

您无法同时将单个卷挂载到多台服务器。我建议您研究 NFS 或 GlusterFS 等分布式文件系统以获得最佳性能。这将允许您在其他服务器上远程挂载分区。可能还有其他文件系统;这些只是我自己使用 AWS EC2 的经验中最好的。

我不建议通过 FUSE 使用 S3FS,因为每次更改文件时,整个文件系统都会重新上传到 S3 - 对于几个文件来说没问题,但当文件系统上有大量文件时,速度会变得非常慢。我寻找过其他实现,但目前还没有找到任何值得使用的东西。如果您确实想使用 S3 来提供文件,那么也许可以在后台运行另一个进程,通过 cURL 或 S3CMD 将文件上传或同步到 S3 存储桶。

相关内容