我一直在努力从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
文件,一切似乎都在工作!
答案 0 :(得分:5)
Gunicorn不是一个通用的Web服务器,它只是服务于一个应用程序(在这种情况下是django)。为了方便开发人员,django除开发之外不提供静态文件,因为它不是提供静态文件的有效或必然安全的工具。
如果按照说明完成,将指示您在端口80上运行nginx,这将1)将您的应用程序从端口8000代理到端口80和2)在同一端口上提供静态文件,选择根据URL为每个请求执行哪些操作。
静态文件在端口8000上不起作用并不会引起警报 - 在此配置下,只有在正确配置nginx后,它们才能在端口80上工作。 django还有其他可能的配置,其他策略用于提供静态文件,尽管大多数配置遵循建议的提供的静态文件约定,完全独立于应用程序,就像在这种情况下一样。