У меня в 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 / ...., что означает, что все будущие «местоположения» относятся к пути под этим.
тогда местоположение просто ссылается на верхний путь "/" этого каталога