ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ngx_http_map_module и include




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@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@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@xxxxxxxxxxxxxxxx
skype: ufaweb
phone: +7(917)4775460
vkontakte: http://vkontakte.ru/id349735
myspace: http://www.myspace.com/ufaweb
facebook: http://facebook.com/sharipov




 




Copyright © Lexa Software, 1996-2009.