Nginx访问不了Django中的静态文件

在Centos7中用Nginx+uWSGI部署自己的Django项目之后成功开启服务,但是在浏览器访问web项目发现没有加载出来样式。
首先确定这肯定是Django项目中static下的静态文件无法加载,百度之后发现要在manage.py同级目录下执行python manage.py collectstatic,用这条命令来收集Django项目中所有的静态文件(包括Django自带的样式文件)到setting.py中STATIC_ROOT = '/你的路径/static'你配置的指定路径下。
好了执行完上一步操作之后,我以为大功告成了,可是重启服务之后再次访问自己的web项目,发现依然加载不了静态文件。
于是按F12查看网页源代码点击静态文件发现浏览器报403 forbidden错误,发现原来不是找不到静态文件而是权限不够被禁止访问
那么就来把static目录加一个最高的777权限吧,结果发现还是不行
最后再次百度,发现是nginx配置文件中的用户的权限不够,把user = nginx改成user = root即可

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将 Django 项目静态文件发布到生产环境,可以按照以下步骤进行操作: 1. 在项目的 settings.py 文件设置静态文件目录: ```python STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), ] ``` 这里将项目根目录下的 static 目录作为静态文件的目录,也可以根据需要设置其他目录。 2. 在项目的 urls.py 文件配置静态文件 URL: ```python from django.conf.urls.static import static from django.conf import settings urlpatterns = [ # ... 其他 URL 配置 ... ] urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) ``` 这里将静态文件 URL 设置为 `/static/`,将静态文件目录设置为 settings.py 文件的 `STATICFILES_DIRS` 配置项。 3. 收集静态文件: 在项目根目录下执行以下命令: ```sh python manage.py collectstatic ``` 这将会把所有静态文件收集到一个指定的目录,该目录由 `STATIC_ROOT` 配置项指定。 4. 配置 Web 服务器: 根据不同的 Web 服务器,需要配置不同的选项来将静态文件发布到生产环境。例如,在使用 Nginx 作为 Web 服务器时,可以通过以下配置来指定静态文件的目录: ```nginx location /static/ { alias /path/to/static/; } ``` 这里将 `/path/to/static` 目录作为静态文件的目录。 注意:在进行生产环境部署时,需要将 `DEBUG` 配置项设置为 `False`,以关闭 Django 的调试模式。同时,也要确保静态文件目录和 URL 的配置正确无误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值