django - 批量存储和提供静态内容的最佳方式

标签 django caching nginx varnish django-flatpages

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。




9年前关闭。




我有一个生成静态页面的应用程序。说大约 10 个 html 页面/分钟。这些页面将提供给用户。在服务器端,我使用 Django作为 Gunicorn 的开发框架运行我的应用服务器,我正在使用 Nginx作为“反向代理”。

有了这个堆栈,我对 的设计几乎没有任何疑问。存储和服务内容 .我也不确定,如果我的方法会导致我现在无法猜测的任何性能损失。所以这是我对此的看法:

贮存

我正在考虑一个基于平面文件的系统来存储内容。它将根据时间戳存储,以便我将来可以清除/删除它们以防内容过期或不需要。所以典型文件的路径看起来像 /var/www/project/content/timestamp/file/path .

我还检查了 Django Flatpages (在 Django 中可用的应用程序)允许使用管理面板和 API 轻松维护平面页面。但这看起来更有希望,

  • 固定页数和(for me, it's huge and varying)
  • 如果您对页面有任何编辑要求。 (I don't need this)

  • 服务

    为了提供内容,我计划通过 公开 '/var/www/content/' 文件夹Nginx 这样它就可以直接由 Nginx 提供服务,而不会受到应用服务器的任何延迟。
    以防万一,我看到任何性能下降。我可以使用一些静态文件缓存引擎,例如 Varnish .

    任何建议或想法都会有所帮助。谢谢..

    最佳答案

    我可能会将这些静态文件存储到 S3 的责任转移到 S3 上,并通过 CloudFront 提供服务。

    关于django - 批量存储和提供静态内容的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15006362/

    相关文章:

    php - MongoDB 作为 MySQL 缓存

    node.js - 运行 nginx 来提供文件并充当同一域上 Node 应用程序的反向代理

    Nginx:如何防止在代理上缓存ajax请求?

    nginx - Passenger + Nginx + Docker应用程序设置

    django - 自定义从 Django forms.py 带来的表单

    python - django:如何将传入的 POST 数据作为类似文件的 obj 来使用以进行流处理

    java - 密码和用户名存储在 Apache Ignite 中的哪里?

    python - Django 管理服务器在 127.0.0.1 :<port>/admin/URL is hit 时关闭

    python - Django QuerySet 查询或过滤特定字段中的 "Odd"和/或 "Even"值

    php - Xampp 上的 Symfony 开发速度非常慢,我该怎么办?