gpt4 book ai didi

python - django+nginx部署无法正确加载静态文件

转载 作者:行者123 更新时间:2023-11-30 22:34:19 25 4
gpt4 key购买 nike

    server {
listen 80;
server_name 13.xx.xx.xxx;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/ubuntu/studykarma/django-react-redux-base/src/;
}
location / {
include proxy_params;
include /etc/nginx/mime.types;
proxy_pass http://unix:/home/ubuntu/studykarma/django-react-redux-base/src/djangoreactredux.sock;
}
}

我的 nginx 配置文件

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static_dist'),
)

我的设置.py

我的静态文件位于 static_dist 文件夹中,我的 ReactJS 代码位于 static 中文件夹。

我的静态文件未加载并给出 404,如果我将路径更改为/static_dist/那么我也会得到空内容。

我正在使用这个模板:https://github.com/Seedstars/django-react-redux-base

最佳答案

关于 Nginx 配置

location /static/ {
root /home/ubuntu/studykarma/django-react-redux-base/src/;
}

此配置告诉 Nginx 在通过 example.com/static/app.js 访问时,在 src 中查找 app.js 文件文件夹root ,如果你想要static_dist ,那么配置更改将为

location /static/{
root /home/ubuntu/studykarma/django-react-redux-base/src/path/to/static_dist/;
}

关于Django配置

你的 Django 设置在逻辑上是错误的,

STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')

以上设置告诉 django 您期望所有静态文件来自 STATICFILES_DIRSSTATIC_ROOT ,当您使用 collectstatic 时,配置生效/被 django 使用django 管理命令,该命令有效地复制 STATICFILES_DIRS 中的所有文件至STATIC_ROOT (但这也意味着,您必须将 /static/ 位置 nginx 配置指向 static_root 而不是 static_dist

关于python - django+nginx部署无法正确加载静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44886906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com