我一直在努力从Ubuntu服务器上提供Django应用程序.我已按照http://senko.net/en/django-nginx-gunicorn/中的所有说明进行操作,但当我到达gunicorn_django -b 0.0.0.0:8000步时,该站点突然停止提供静态文件.该站点使用dev服务器python manage.py runserver 0.0.0.0:8000正常工作.
我没有改变任何东西的库存设置.任何想法为什么这不起作用?
编辑:
在完成本教程的其余部分和Andrew Gorcester的建议之后,我添加了一个
location /static {
root /path/to/static/files;
}
到我的nginx站点 – 可用文件,一切似乎都在工作!
解决方法:
Gunicorn不是一个通用的Web服务器,它只是服务于一个应用程序(在这种情况下是django).为了方便开发人员,django除开发之外不提供静态文件,因为它不是提供静态文件的有效或必然安全的工具.
如果按照说明完成,将指示您设置在端口80上运行的nginx,这将1)将您的应用程序从端口8000代理到端口80和2)在同一端口上提供静态文件,选择要执行的操作每个请求基于URL.
静态文件在端口8000上不起作用并不会引起警报 – 在此配置下,只有在正确配置nginx后,它们才能在端口80上工作. django还有其他可能的配置,其他策略用于提供静态文件,尽管它们中的大多数都遵循提供的完全独立于应用程序的静态文件的惯例,就像在这种情况下一样.