Python gunicorn不提供静态文件
我一直在努力从Ubuntu服务器上提供Django应用程序。我遵循了中的所有说明,但当我进入Python gunicorn不提供静态文件,python,django,gunicorn,Python,Django,Gunicorn,我一直在努力从Ubuntu服务器上提供Django应用程序。我遵循了中的所有说明,但当我进入gunicorn_django-b0.0.0.0:8000步骤时,该站点突然停止提供静态文件。使用dev服务器python manage.py运行服务器0.0.0.0:8000,该站点运行良好 我没有更改任何库存设置。你知道为什么这不起作用吗 编辑: 在遵循教程的其余部分和的建议之后,我添加了一个 location /static { root /path/to/static/files; }
gunicorn_django-b0.0.0.0:8000
步骤时,该站点突然停止提供静态文件。使用dev服务器python manage.py运行服务器0.0.0.0:8000
,该站点运行良好
我没有更改任何库存设置。你知道为什么这不起作用吗
编辑:
在遵循教程的其余部分和的建议之后,我添加了一个
location /static {
root /path/to/static/files;
}
到我的nginx
站点可用
文件,一切似乎都正常 Gunicorn不是一个通用的web服务器,它所做的只是服务于一个应用程序(在本例中是django)。为了方便开发人员,django除了在开发中之外不提供静态文件,因为它不是提供静态文件的有效或必要的安全工具
如果您一直按照说明操作,系统将指示您设置在端口80上运行的nginx,该端口将1)将您的应用程序从端口8000代理到端口80,2)在同一端口上提供静态文件,并根据URL选择每个请求要执行的操作
静态文件不能在端口8000上工作并不是引起警报的原因——在这种配置下,一旦nginx配置正确,静态文件只能在端口80上工作。django还有其他可能的配置和其他服务静态文件的策略,尽管大多数配置都遵循推荐的约定,即完全独立于应用程序服务静态文件,如本例所示。只是确认一下:您同时启动了nginx和gunicorn,然后将web浏览器指向本地主机上的端口80(不是端口8000),对吗?我根本没有运行nginx。当我运行
manage.py
命令时,当指向我的URL:8000时,我确实得到了我的完整站点。好的,我将提交一个答案以提供更好的详细信息。可能重复