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

时间:2013-02-21 15:44:36

标签: django caching nginx varnish django-flatpages

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

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

存储

我在想一个基于平面文件的系统来存储内容。将根据时间戳存储哪些内容,以便将来清除/删除它们如果内容已过期或不需要。因此,典型文件的路径看起来像/var/www/project/content/timestamp/file/path

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

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

服务

为了提供我正在计划通过 Nginx 公开'/ var / www / content /'文件夹的内容,以便它可以直接由Nginx提供,而不会有任何来自应用服务器的延迟。 万一,我看到任何表现受到打击。我可以使用一些静态文件缓存引擎,如Varnish

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

1 个答案:

答案 0 :(得分:2)

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