Nginx 在托管的django应用程序上找不到静态文件404
我很难在我的网页上显示我的静态文件,我在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都不会显示。我进一步阅读了有关此警告的内容,并使用了中的解决方案,但仍然没有任何更改警告消失了,但仍然找不到静态文件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中
以下是来自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]