Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Nginx 在托管的django应用程序上找不到静态文件404_Nginx_Amazon S3_Digital Ocean_Ubuntu 18.04_Django Staticfiles - Fatal编程技术网

Nginx 在托管的django应用程序上找不到静态文件404

Nginx 在托管的django应用程序上找不到静态文件404,nginx,amazon-s3,digital-ocean,ubuntu-18.04,django-staticfiles,Nginx,Amazon S3,Digital Ocean,Ubuntu 18.04,Django Staticfiles,我很难在我的网页上显示我的静态文件,我在digitalocean ubuntu 18上托管我的网站,我的静态文件存储在digitalocean space上。最初一切正常,工作正常,直到我向服务器添加了3个新图像,然后运行collectstatic命令,注意这是第二次,因为我第一次运行它是为了将文件存储在我创建的digitalocean space文件夹中。collectstatic命令向我显示了一条警告 用户警告:S3boto3存储的默认行为不安全,将在django storages 2.0中

我很难在我的网页上显示我的静态文件,我在digitalocean ubuntu 18上托管我的网站,我的静态文件存储在digitalocean space上。最初一切正常,工作正常,直到我向服务器添加了3个新图像,然后运行collectstatic命令,注意这是第二次,因为我第一次运行它是为了将文件存储在我创建的digitalocean space文件夹中。collectstatic命令向我显示了一条警告

用户警告:S3boto3存储的默认行为不安全,将在django storages 2.0中更改。默认情况下,文件和新存储桶使用“public read”(全局公共可读)ACL保存。版本2.0将默认使用bucket的ACL。要选择进入新的行为,请设置AWS\U DEFAULT\U ACL=None,否则要使此警告静音,请显式设置AWS\U DEFAULT\U ACL。“S3boto3存储的默认行为不安全,将更改”

在我通过键入yes继续之后,文件是图像,并成功地存储在数字空间中,但自从我第二次运行collect命令以来,所有staticfile都不会显示。我进一步阅读了有关此警告的内容,并使用了中的解决方案,但仍然没有任何更改警告消失了,但仍然找不到静态文件


以下是来自chrome浏览器的错误消息:加载资源失败:服务器响应状态为404(未找到)

您是否确保设置显示以下内容:

STATIC_ROOT = os.path.join('static')

STATIC_URL = '/static/'
在此之后,模板应显示以下内容:

<link rel="stylesheet" type="text/css" href="{% static '/locationofstatics/css/style.css' %}">
<link rel="stylesheet" type="text/css" href="{% static '/locationofstatics/css/bootstrap.css' %}">
在此范围内,您需要添加静力学的位置,例如:

server {

ocation /static/ {
        root /home/name/projectname;
    }
}
以下文件非常有用:


我在digitalocean中使用nginx服务器进行django项目。 前端静态文件正在工作,但管理员没有

请参见我的静态文件设置:

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
静态文件夹和静态目标文件夹中的前端css是staticfiles

所以我们主要关注的是STATIC\u ROOT意味着staticfiles文件夹。在nginx设置中,将“staticfiles”改为“static”,以设置静态文件位置。

您的静态\u根文件夹名称可以是您需要在nginx中使用相同名称的任何内容。

nginx设置见以下代码:

location /staticfiles/ {
    root /home/[your_username]/[your_project_folder];
}
[您的用户名]:您正在使用该用户名在digitalocean上主持项目

整个问题是,您需要在nginx设置中使用静态根文件夹

创建/编辑nginx设置的命令为:

sudo nano /etc/nginx/sites-available/[your_project_folder]

我一直在使用这些教程,然后跟随一个更新的教程verson,它为静态文件配置了所谓的digitalocean space,但似乎无法正常工作,我一直收到404错误
sudo nano /etc/nginx/sites-available/[your_project_folder]