php - 输入决策 : file hosting with amazon s3 or similar and php

标签 php amazon-s3 hosting cdn rackspace-cloud

非常感谢您的意见,以帮助我做出以下决定。

我的要求:

  • 我在共享服务器上托管了一个站点,我将向我的用户提供内容。大约 60 GB 的内容(大约 2000 个文件,每个 30 MB。用户一次只能访问 20 个文件),我计算出每月大约 100 GB 的带宽使用量。

  • 一旦用户注册了内容,用户就可以访问链接进行下载。但是我希望链接在 7 天后过期,并可以增加过期时间。

  • 我认为磁盘空间和带宽需要像 Amazon S3 或 Rackspace Cloud 文件这样的服务(或者有替代方案吗?)

  • 为了管理过期,我计划以某种方式获取过期的链接(我认为 S3 具有该功能,而不是 Rackspace)或者控制我的数据库的过期日期并有一个批处理过程,每天都会重命名所有云和我的数据库上有 200 个文件(如果用户复制了直接链接,第二天将无法使用,只有我的网页会有更新的链接)。 PHP用于编程。

那你怎么看?云文件托管是出路?哪一个?以这种方式管理链接是否有意义,或者通过编程(向云服务器发送命令...)来做到这一点太困难了

编辑: 一些托管公司在他们的共享计划中有无限空间和带宽。我问过他们的支持人员,他们说他们真的很尊重“无限”交易。所以一个月 100 GB 的传输是可以的,唯一要注意的是 CPU 使用率。因此,共享主机是另一种可供选择的选择..

跟进: 因此,对此进行更多研究后,我发现 Unlimited 计划的服务条款规定不允许将空间主要用于托管多媒体文件。所以我决定使用 Amazon s3 和 Tom Andersen 提供的解决方案。

感谢您的输入。

最佳答案

我个人认为您不一定需要为此使用基于云的解决方案。这可能有点贵。您可以简单地获得一个专用服务器。我想到的一个供应商在他们的一些最低级别计划中提供 3,000 GB/月的带宽。那是在 10Mbit 的上行链路上;您可以以 10 美元/月的价格升级到 100Mbps,以 20 美元/月的价格升级到 1Gbit。我不会提及任何名称,但您可以搜索专用服务器并可能找到您喜欢的服务器。

至于使文件过期,只需在数据库支持的 PHP 中实现即可。您不必四处移动文件,将所有文件存储在无法从 Web 访问的目录中,并使用 PHP 脚本确定链接是否有效,如果有效,则读取文件内容并将它们传递给浏览器。如果链接无效,您可以改为显示错误消息。这是一个非常简单的概念,我认为有很多预先编写的脚本可以做到这一点,但根据您的需要,您自己做起来并不太难。

云托管有优势,但目前我认为它的成本很高,如果您不想在地理上分散负载或计划支持数千个并发用户并且需要云的弹性,您可以使用专用服务器相反。

希望对您有所帮助。

关于php - 输入决策 : file hosting with amazon s3 or similar and php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9124182/

相关文章:

php - laravel 5 中的简单 websocket 实现

java - 如何在java中将S3对象列表从一个文件夹移动/复制到另一个文件夹?

spring-boot - 如何在 Java 中将字节数组上传到 S3 存储桶?

php - 用于 PHP/MySQL 的 SVN

php - 生产中的 Laravel 数据库访问被拒绝

php - 从序列化数组 MySQL 中检索特定值

php - 保护 PHP 文件

php - Symfony:如何在 Bundle Controller 中调用私有(private)服务

amazon-web-services - 与 CloudFront 结合使用时,AWS S3 标准不频繁访问与减少冗余存储类?

java - 如何使用 Eclipse 3.6 创建构建