【问题标题】:Serving static files on top of mod_wsgi and dJango (server: Heroku)在 mod_wsgi 和 dJango 上提供静态文件(服务器:Heroku)
【发布时间】:2012-07-18 15:24:05
【问题描述】:

我在通过运行 mod_wsgi 和 dJango 的 Web 服务器提供静态文件时遇到问题。我们的服务器提供商是 Heroku。

因为文件是静态的,不应该被评估,我听说应该直接提供它们而不是通过 mod_wsgi,dJango 不应该接触它们?

我觉得这应该是一件简单的事情,但我正在努力解决它。如果有人能指出我应该如何尝试存储和提供静态文件,我将不胜感激?

【问题讨论】:

  • 我对这个问题很感兴趣。但是,我担心解决方案是将静态文件与其他静态存储一起存储在亚马逊 S3(或其他提供商)中。请记住,django 提供了STATIC_URL 参数。您是否将 sharpdetail.com 从 php 移动到 django? ;)
  • @danihp - 我考虑过 S3,我在想可能有一个更简单的解决方案,但也许不是?这是针对 Web 应用程序,而不是 Sharp Detail 网站。我认为 Heroku 可能为此矫枉过正 :) 感谢您的帮助!
  • 我使用webfaction,静态文件的处理方式是创建一个Static-only应用,指向www.mydomain.com/static_files。我还保留static_files 作为我的 django STATIC_URL。现在配置 nginx(或任何其他服务器进程)来服务这个 static-only 应用程序。
  • 您如何将 mod_wsgi 安装到 Heroku 上,因为默认情况下 Apache 或 mod_wsgi 都不存在?我开始为 Heroku 开发 Apache/mod_wsgi 构建包,但没有机会接触太多。

标签: django heroku mod-wsgi static-files


【解决方案1】:

这个想法是使用 Web 服务器来处理对静态文件的请求,而不是将这些请求传递给您的 Django 实例。这样做的原因是,与 Django 应用程序不同,Web 服务器针对交付静态内容进行了优化。

您真正需要做的唯一事情是配置您的 Web 服务器以处理与您的 STATIC_URLMEDIA_URL 的路径匹配的请求,方法是将这些请求的文档根目录设置为您的静态和媒体文件所在的位置由您的应用程序存储。

【讨论】:

  • 我认为 OP 正在讨论如何在 heroku 环境中静态提供文件。
  • @danihp - 是的,我很抱歉。我应该在我的问题中更加明确。我稍微编辑了帖子以反映这一点。
  • 场景在body question中解释,我还添加了heroku标签以便快速拍摄人;)
猜你喜欢
  • 2010-10-18
  • 2012-12-03
  • 1970-01-01
  • 2012-08-13
  • 2011-09-18
  • 2011-08-21
  • 2015-06-06
  • 2013-01-13
  • 2012-12-01
相关资源
最近更新 更多