Назад | Перейти на главную страницу

Сбой при обслуживании статических файлов - nginx

Я всю ночь искал и пробовал, но безуспешно.

Я настроил nginx для обслуживания моих статических файлов и проксирования всего остального трафика:

server {

    listen 80;
    server_name example.com;

    access_log /home/boudewijn/www/bbt/brouwers/logs/access.log;
    error_log /home/boudewijn/www/bbt/brouwers/logs/error.log;

    location / {
            proxy_pass http://127.0.0.1:8080;
            include /etc/nginx/proxy.conf;
    }

    location /media/ {
            root    /home/boudewijn/www/bbt/brouwers/;
    }
}

Передача прокси - не проблема, но когда я перехожу на example.com/media/ или пытаюсь получить доступ к любому файлу тестирования там, это безуспешно. Я обратил внимание на разницу между корнем и псевдонимом, моя медиа-папка существует, я обратил внимание на конечные косые черты, но все же я получаю 404 при попытке доступа к моим статическим медиа-файлам.

Любая помощь?

Я предполагаю, что ваши медиафайлы находятся в / home / boudewijn / www / bbt / brouwers / media. В этом случае следующие должен работай.

Если вы все еще получаете ошибку 404, проверьте журнал ошибок, так как он должен показать вам точный путь к файлу, к которому он пытается получить доступ.

server {

    listen 80;
    server_name mydomain.com;

    access_log /home/boudewijn/www/bbt/brouwers/logs/access.log;
    error_log /home/boudewijn/www/bbt/brouwers/logs/error.log warn;

    root    /home/boudewijn/www/bbt/brouwers/;

    try_files $uri @proxy;

    location @proxy {
            proxy_pass http://127.0.0.1:8080;
            include /etc/nginx/proxy.conf;
    }
}

Вот пример работающего внешнего интерфейса nginx для серверной части Apache2, конфигурация сайта nginx для Django:

server {
    listen  80  default;
    server_name www.example.com example.com;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8001;
    }

    location /media {
        root /var/www/example-static;
    }

}