ngx_http_map_module и include
Руслан Шарипов
ufaweb at gmail.com
Wed Jul 8 15:15:13 MSD 2009
День добрый.
Имеем:
в главном конфиге nginx'а есть такие строчки:
...
http
{
...
map $host $hid
{
default 0;
hostnames;
include conf/users/*.hid;
}
...
include conf/users/*.conf;
}
...
в директории conf/users/ содержаться следующие файлы:
[root at alpha /usr/local/etc/nginx]# ls -la conf/users/
total 286
drwxr-xr-x 2 root wheel 3072 Jul 8 16:58 .
drwxr-xr-x 6 root wheel 512 Jul 8 16:58 ..
-rw-r--r-- 1 root wheel 501 Jun 20 2008 i5001.conf
-rw-r--r-- 1 root wheel 48 Jul 8 16:58 i5001.hid
-rw-r--r-- 1 root wheel 671 Jul 7 14:27 i5002.conf
-rw-r--r-- 1 root wheel 56 Jul 8 16:58 i5002.hid
-rw-r--r-- 1 root wheel 1028 Jun 28 18:59 i5003.conf
-rw-r--r-- 1 root wheel 96 Jul 8 16:58 i5003.hid
-rw-r--r-- 1 root wheel 389 May 20 2008 i5004.conf
...
в каждая пара файлов (например, i5001.conf и i5001.hid) обслуживает
какой-либо сайт
в файле i5001.conf содержатся описание конфигурации непосредственно
сайта (блок server { })
в файле i5001.hid соответствие доменных имен сайта некоторому
идентификатору, пример файла:
my.domain.com 5001;
my2.domain.com 5001;
my.newdomain.com 5001;
Проблема:
команда include conf/users/*.conf; отрабатывает отлично, т.е. nginx
успешно загружает информацию обо всех сайтах.
а вот с командой include conf/users/*.hid; все намного плачевнее,
include не хочет подцеплять в блок map { } содержимое файлов
подпадающих под указанную маску, configtest выдает следующее
сообщение:
[root at alpha /usr/local/etc/nginx]# /usr/local/etc/rc.d/nginx configtest
Performing sanity check on nginx configuration:
[emerg]: open() "/usr/local/etc/nginx/conf/users/*.hid" failed (2: No
such file or directory) in /usr/local/etc/nginx/nginx.conf:23
configuration file /usr/local/etc/nginx/nginx.conf test failed
Вопрос:
как научить include в блоке map {} подключать файлы по маске (например, *.hid);
Данные о системе:
ОС: FreeBSD 6.3-RELEASE i386
nginx: nginx/0.7.61 (собран из портов)
pcre: 7.4
--
С уважением, Шарипов Руслан.
Руководитель отдела разработки и сопровождения программного
обеспечения ОАО "Уфанет".
Контактная информация:
jid: serafim at jabber.ufanet.ru
skype: ufaweb
phone: +7(917)4775460
vkontakte: http://vkontakte.ru/id349735
myspace: http://www.myspace.com/ufaweb
facebook: http://facebook.com/sharipov
More information about the nginx-ru
mailing list