gunicorn不提供静态文件

时间:2012-12-19 07:17:37

标签: python django gunicorn

我一直在努力从Ubuntu服务器上提供Django应用程序。我已按照http://senko.net/en/django-nginx-gunicorn/中的所有说明进行操作,但当我进入gunicorn_django -b 0.0.0.0:8000步骤时,该网站突然停止提供静态文件。该网站使用开发服务器python manage.py runserver 0.0.0.0:8000工作正常。

我没有改变任何东西的库存设置。任何想法为什么这不起作用?

编辑:

在完成本教程的其余部分和Andrew Gorcester的建议之后,我添加了一个

location /static {
     root /path/to/static/files;
}

到我的nginx sites-available文件,一切似乎都在工作!

1 个答案:

答案 0 :(得分:5)

Gunicorn不是一个通用的Web服务器,它只是服务于一个应用程序(在这种情况下是django)。为了方便开发人员,django除开发之外不提供静态文件,因为它不是提供静态文件的有效或必然安全的工具。

如果按照说明完成,将指示您在端口80上运行nginx,这将1)将您的应用程序从端口8000代理到端口80和2)在同一端口上提供静态文件,选择根据URL为每个请求执行哪些操作。

静态文件在端口8000上不起作用并不会引起警报 - 在此配置下,只有在正确配置nginx后,它们才能在端口80上工作。 django还有其他可能的配置,其他策略用于提供静态文件,尽管大多数配置遵循建议的提供的静态文件约定,完全独立于应用程序,就像在这种情况下一样。