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

Проблема с путями к местоположению в nginx

У меня в nginx на debian squeeze настроено довольно много сайтов по умолчанию, и теперь я пытаюсь заставить его обслуживать мои графики munin на myhost / munin /

Вот место, которое я добавил в конфигурацию

       location /munin
            {
                    root /var/cache/munin/www/;
                    index index.htm index.html;
            }

И вот ошибка, которую я получаю:

            2012/07/09 23:52:03 [error] 3598#0: *13 "/var/cache/munin/www/munin/index.htm" is not found (2: No such file or directory), client: 93.*.*.*, server: , request: "GET /munin/ HTTP/1.1", host: ""

Эта установка использовалась для «просто работы» в apache. Я новичок в nginx, поэтому немного потерялся, почему он добавляет дополнительный / munin при поиске пути. Любой совет?

Вам нужно использовать alias директива, а не root:

location /munin/ {
    alias /var/cache/munin/www/;
}

Попробуй это

root /var/cache/munin/www/;

location /
            {

                    index index.htm index.html;
            }

Что здесь происходит (для чайников без обид):

Сначала мы сообщаем nginx, где находится DocRoot, то есть / var / ...., что означает, что все будущие «местоположения» относятся к пути под этим.

тогда местоположение просто ссылается на верхний путь "/" этого каталога