首页 > 解决方案 > 静态文件部署时的 Nginx 双目录引用

问题描述

我正在使用 Nginx 和 Gunicorn 部署我的静态文件。下面是我的 Nginx 配置文件。

server {
    listen 80;
    server_name xxx.xxx.xx.xx;
    root /home/briansia/django_blog;

    access_log /home/briansia/django_blog/logs/nginx-access.log;
    error_log /home/briansia/django_blog/logs/nginx-error.log;

    location /static/ {
        root /home/briansia/django_blog/static/;
    }

    location /media/ {
        root /home/briansia/django_blog/media/;
    }

    location / {
        proxy_pass http://xxx.xxx.xx.xx:8000;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Nginx 无法提供我的静态或媒体文件,而是得到:

2021/11/14 09:09:08 [error] 303783#303783: *3 open() "/home/briansia/django_blog/static/static/blog/main.css" failed (2: No such file or directory)

2021/11/14 09:09:08 [error] 303783#303783: *4 open() "/home/briansia/django_blog/media/media/profile_pics/yasharn_r5D4eQk.jpg" failed (2: No such file or directory)

我注意到目录staticmedia被引用了两次。然后,我为配置文件中的静态和媒体位置尝试了各种斜杠组合。

标签: nginxweb-deployment

解决方案


推荐阅读