Оптимальная конфигурация для vhosting'а
Alexey N. Kovyrin
alexey at kovyrin.net
Mon Dec 26 01:50:35 MSK 2005
Alexey N. Kovyrin пишет:
> Доброе время суток,
>
> Возник такой вопрос: как сделать оптимальнее в конфигурации маппинг
> виртуальных хостов на домашние каталоги пользователей виртуалхостинга?
> У меня есть таблица соответствий вида
>
> some_vhost_name => /data/home/hostNNN
>
> Я понимаю, что можно сделать 10000-50000 блоков server, но как-то
> некрасиво, имхо... нельзя ли использовать map+rewrite как-нибудь?
Что-то я не понимаю в логике работы rewrite... Сделал такую тестовую
конфигурацию:
map $server_name $vhost_id {
default 0;
h1.servik.com 1;
h2.servik.com 2;
}
server {
listen 8080;
server_name home *.servik.com;
location / {
root servik;
index index.html index.htm;
rewrite ^/(.*)$ /host$vhost_id/$1 break;
}
Получил:
1) При запросе = http://h2.servik.com/index.htm получаю сожержимое файла
/opt/nginx/servik/host2/index.htm (как и хотел).
2) При запросе = http://h2.servik.com/ получаю 404 (open()
"/opt/nginx/servik/host2/host2/index.htm" failed (2: No such file or
directory)).
То есть если файл указан явно, то все ок, если нет, то он находит файл в
соответствии с директивой index, но при этом дублирует вставку
переменной в результат rewrite.
Кстати, если каталог host2 удалить, то он говорит уже 404
("/opt/nginx/servik/host2/index.html" is not found (2: No such file or
directory)), спотыкаясь, как я понимаю, еще на моменте перед поиском
индекса в каталоге.
Короче - ничего не понимаю....
--
/Scoundrel [http://kovyrin.info]
More information about the nginx-ru
mailing list