S3 挂载可以用作 Apache 的文档根目录吗?

S3 挂载可以用作 Apache 的文档根目录吗?

有没有人成功地将他们的 DocumentRoot 驻留在 S3 挂载上(使用 s3fs)?

我目前在 /mnt/s3 上有一个已安装的存储桶。我可以毫无问题地读取和写入文件。在我的 httpd.conf 中,我有 DocumentRoot“/mnt/s3”。

当我重新启动 Apache 时,出现错误“DocumentRoot 必须是一个目录”。

有没有人尝试过类似的东西。我的目标是拥有一个共享的存储空间,以便我的节点可以轻松扩展并访问相同的文档根目录。

答案1

简短回答 -不可以 - S3 不是块级存储设备,因此您不能将其用作 apache 根。您需要为此使用 EBS。

- 如果只有静态内容(即没有 PHP/ruby/etc - javascript 没问题,因为它在浏览器中运行而不是在服务器上运行),您可以在 S3 上托管您的网站,在这种情况下您甚至不需要 apache 服务器。

http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteHosting.html

答案2

是的,你可以这样做,但这不是一个简单的方法。你必须从源安装 fuse 和 s3fs,然后配置你的 S3 bucket 和 IAM 用户的策略,最后你必须配置你的挂载点。

以下链接或许能帮到您:

https://www.emfluence.com/blog/amazon-web-services-integrating-s3-and-ec2-few-simple-steps https://github.com/s3fs-fuse/s3fs-fuse

我做到了,但是性能不佳,我正在寻找一种方法来优化它。

相关内容