nginx+uwsgi+django部署后静态目录丢失问题

这两天做完毕设后将项目部署到服务器刚开始一切都很正常,但出了很奇怪的地方就是加载静态目录时有一些静态资源加载了有一些没有加载,查看uwsgi日志时一切都正常看不出一点错误,这时候我打开网页查看输出信息时查看console和network 报404错误,但有一点静态资源竟然也加载出来了。。。。还有这样的事 我在网页引用模版都是{%load static%}然后在用link引用加载出来但还是有很多静态资源没有加载出来,在昨天晚上问了群里大佬,也是帮我忙活两个多小时弄出来了,我当时看的一看懵逼,只能感叹大佬的牛逼附上大佬的博客地址,里面有很多django干货https://xieboke.net/ 欢迎大家加入simpleui官方群786576510里面大佬多多,至于如何部署django到服务器上请参考大佬这篇文章绝对详细能成功部署https://www.django.cn/article/show-4.html#banqian 还有一个压箱底的python群 767421616好了广告打完了可以进入正题了nginx转发url导致静态资源丢失的问题,首先我们需要进入settings内将debug改成False 然后nginx+uwsgi+django部署后静态目录丢失问题看图然后进行第二部在服务器上获取静态资源命令
python manage.py collectstatic 如果像我图片这样布置会在根目录生成static_root文件里面就是我们的静态资源,有些人运行上面这条命令时会有警告我也遇到过./manage.py collectstatic -v 0可以运行这条命令这样所有加载过程都没有了眼不见为净。哼~ 然后在服务器那只需把nginx的location 的‘static’下面的路径修改成nginx+uwsgi+django部署后静态目录丢失问题指定我们加载静态资源的路径。然后进入项目文件killall -9 uwsgi
uwsgi -x xxx.xml /usr/local/nginx/sbin/nginx -s reload和这三条命令这样你在瞅瞅正常时能加载出来静态资源了但也有意外就是nginx转发nginx请求静态资源时它自动访问到项目名/static这样的情况也很简单解决在项目urls导入nginx+uwsgi+django部署后静态目录丢失问题nginx+uwsgi+django部署后静态目录丢失问题再加上这句这样就大功告成了在进入服务器重新运行上面那三条命令就可以加载出来了。这只是部署在服务器上的问题如果本地运行静态资源无法加载可以考虑nginx+uwsgi+django部署后静态目录丢失问题
nginx+uwsgi+django部署后静态目录丢失问题