python Django nginx解决静态文件403的问题

5 篇文章 0 订阅
2 篇文章 0 订阅

今天弄了个Django的网站,在Windows上运行正常,迁移到linux上时发现静态的文件都不能访问了,查了网上的帖子,主要是说了两个解决方法,

1、添加权限,赋予static文件夹可写可读的权限,但是尝试后发现不行,

2、添加index,例如index  index.php index.html;但是好像还是不行

但是我并没有放弃,终于发现了一个帖子,方法如下,把nginx头部的 user www www 改成root, 结果好了

个人推测:

 user是设置运行的用户和权限的设置,因为我的目录设置在root下所以不具备访问的权限,所以修改后就好了

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要将 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 的配置正确无误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值