【问题标题】:Media files on HerokuHeroku 上的媒体文件
【发布时间】:2016-04-14 18:55:02
【问题描述】:

如果我在 Heroku 上托管一个小型 Django 网站并且我只使用一个测功机,那么在该服务器上上传媒体文件是否可以节省,或者我是否必须使用 AWS S3 存储来存储媒体文件?媒体存储还有哪些其他替代方案?

【问题讨论】:

    标签: django heroku


    【解决方案1】:

    不,将内容存储在 Heroku 文件系统上是绝对不安全的。即使您只有一个测功机,它仍然是短暂的,随时可能被杀死;例如当你推送新代码时。

    【讨论】:

      【解决方案2】:

      使用 S3 是可行的方法(替代方案是 Azure 和 Google 产品)。使用 S3 还有其他几个优点,主要是能够在不给小型服务器带来压力的情况下提供文件服务。

      虽然您的站点很小,但测功机也非常小,因此如果使用得当,S3 的一个主要优势是您可以获得 AWS S3 基础设施的支持来为文件提供服务。通过“正确使用”,我的意思是您希望直接向/从 S3 上传和服务文件,因此您的服务器仅用于签署 S3 url,但实际文件永远不会通过您的服务器。

      检查https://devcenter.heroku.com/articles/s3-upload-pythonhttp://docs.fineuploader.com/quickstart/01-getting-started.html(如果您可以使用免费版本或支付少量许可费用,我强烈推荐Fine-Uploader。)。

      显然,您也可以使用 django-storage-redux 在 django 中实现 S3 媒体文件,但这意味着您的服务器将忙于上传文件。如果你的小型服务器没问题,那也没关系。

      【讨论】:

      • 更新:Fine Uploader 从 5.9.0 版开始获得 MIT 许可(100% 免费)。
      • 对于未来的访问者 MIT license 会使用户陷入陷阱,当未来发生版权侵权时,开发者不对问题负责,只有用户(MIT 许可用户)所以尽量避免 MIT 许可软件
      • 更新: Fine Uploader 现已关闭。 (github.com/FineUploader/fine-uploader/issues/2073)。
      猜你喜欢
      • 2013-09-05
      • 1970-01-01
      • 2017-05-19
      • 2018-01-21
      • 2016-12-05
      • 2021-10-26
      • 2019-05-31
      • 2020-10-05
      • 2020-12-23
      相关资源
      最近更新 更多