Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
403针对Django3.1的nginx/1.18.0(Ubuntu),面临媒体文件和管理css的问题_Django_Nginx_Digital Ocean_Ubuntu 20.04 - Fatal编程技术网

403针对Django3.1的nginx/1.18.0(Ubuntu),面临媒体文件和管理css的问题

403针对Django3.1的nginx/1.18.0(Ubuntu),面临媒体文件和管理css的问题,django,nginx,digital-ocean,ubuntu-20.04,Django,Nginx,Digital Ocean,Ubuntu 20.04,我已经在digitalocean ubuntu 20.04和nginx/1.18.0(ubuntu)上安装了django 3.1,并使用rest api 以下是我的静态和媒体文件设置 STATIC_URL = '/static/' STATICFILES_DIRS = [ BASE_DIR / "static", ] STATIC_ROOT = BASE_DIR / 'static_in_env' MEDIA_URL = '/media/' MEDIA_ROOT =

我已经在digitalocean ubuntu 20.04和nginx/1.18.0(ubuntu)上安装了django 3.1,并使用rest api

以下是我的静态和媒体文件设置

STATIC_URL = '/static/'
STATICFILES_DIRS = [
  BASE_DIR / "static",
]

STATIC_ROOT = BASE_DIR / 'static_in_env'

MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'
以下是我的数字海洋Nginx配置

location /static/ {
    root /home/username/backend/src;
}

location /media {
    root /home/username/backend/src;
}
即使是小于100kb的文件,它也会禁止我访问


另外,在检查Nginx日志后,我发现权限被拒绝的错误。

您好,请尝试将斜杠放在媒体后面

location /media/ {
    root /home/username/backend/src;
}

您的配置似乎正常。
您应该检查的是,您已经以根用户身份安装了NGINX,或者您的根用户可以访问您试图提供的文件。

请尝试:

location /static/ {
    root /home/username/backend/src/static/;
}
location /media/ {
    root /home/username/backend/src/media/;
}
如果不起作用,请尝试将“根”更改为“别名”,如下所示:

location /static/ {
    alias /home/username/backend/src/static/;
}
location /media/ {
    alias /home/username/backend/src/media/;
}

/home/username
nginx是否有权访问此用户主文件夹?