Nginx, простая конфигурация для обслуживания всех файлов в каталоге и всех каталогов в - PullRequest
4 голосов
/ 09 октября 2011

Я ищу простую конфигурацию для обслуживания всех файлов и каталогов внутри определенной папки.

Чтобы быть более точным, я пытаюсь обслуживать все, что находится внутри папки pinax /static_media/ и /media/, как и с одним и тем же URL-адресом, и желательно автоматически индексировать все.

покак я запустил python manage.py build_media --all, поэтому весь статический контент находится под <project_name>/site_media/static

Текущая конфигурация, которую я использую:

server {
    listen   80;
    server_name  QuadraPaper;

    access_log  /home/gdev/Projects/QuardaPaper/access_log.log;

    location ^*/site_media/*$
    {
        autoindex on;
        access_log off;
        root /home/gdev/Projects/QuardaPaper/site_media;
    }

    location /media/ {
        autoindex on;
        root   /home/gdev/Projects/QuardaPaper/media/;
    }

Все различные инструкции по настройке с разных сайтов действительно смутили меняНапример,

Как обслуживать все существующие статические файлы напрямую с NGINX, но остальные прокси-серверы для внутреннего сервера.

http://coffeecode.net/archives/200-Using-nginx-to-serve-static-content-with-Evergreen.html

https://serverfault.com/q/46315/91723

http://wiki.nginx.org/Pitfalls

http://pinaxproject.com/docs/0.7/media/#ref-media-devel

Информация об окружающей среде:

  • Xubuntu 10.04, работающий на VirtualBox
  • nginx 1.1.4
  • pinax 0.72
  • django 1.0.4
  • fastcgi для запуска django через nginx

1 Ответ

7 голосов
/ 09 октября 2011

Я нашел ответ, Это было довольно просто, как я и предполагал.Нужно установить корневой каталог один раз и использовать подкаталоги в качестве местоположения

server {
    listen   80;
    server_name  QuadraPaper;

    access_log  /home/gdev/Projects/QuardaPaper/access_log.log;
    root /home/gdev/Projects/QuardaPaper;

    location /site_media/ {
        autoindex on;
        access_log off;
    }

    location /media/ {
        autoindex on;
    }
}

Я получил подсказку от

Nginx не служит статическим

...