Re: ngx_http_map_module и include
Alexey V. Karagodov
kav at karagodov.name
Wed Jul 8 15:46:46 MSD 2009
On 08.07.2009, at 15:15, Руслан Шарипов wrote:
> День добрый.
>
> Имеем:
>
> в главном конфиге nginx'а есть такие строчки:
>
> ...
> http
> {
> ...
> map $host $hid
> {
> default 0;
> hostnames;
> include conf/users/*.hid;
workaround: скриптом сгенерить конфиг или часть конфига, сгенерить
conf/users/everything.hid и сделать:
- include conf/users/*.hid;
+ include conf/users/everything.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