вопрос, set

Igor Sysoev is at rambler-co.ru
Wed Jan 10 18:52:20 MSK 2007


On Wed, 10 Jan 2007, Nick Knutov wrote:

> Есть в конфиге такие строчки
>
> server_name  kola.knutov.net www.kola.knutov.net;
> access_log  /var/log/nginx/kola.knutov.net.access.log  main;
> error_log  /var/log/nginx/kola.knutov.net.error.log  error;
> location / {
> 	root   /home/user1/kola.knutov.net/html;
> ...
>
> и аналогичных строчек много. Можно ли сделать так:
>
> set $root "kola.knutov.net";  # !!!
>
> server_name  $root www.$root ;
> access_log  /var/log/nginx/$root.access.log  main;
> error_log  /var/log/nginx/$root.error.log  error;
> location / {
> 	root   /home/user1/$root/html;
>
> и делать так для каждого домена ? (т.е. все строчки будут одинаковые но у каждого домена свой set $root)
>
> Просто так оно вроде работает
> /usr/local/nginx/nginx -c /etc/nginx2.conf -t
> 2007/01/10 13:55:12 [info] 1512#0: the configuration file /etc/nginx2.conf syntax is ok
> 2007/01/10 13:55:12 [info] 1512#0: the configuration file /etc/nginx2.conf was tested successfully
>
> вот только
> # cd /var/log/nginx
> # ll
> total 0
> -rw-r--r--  1 root root 0 Jan 10 13:55 $root.access.log
> -rw-r--r--  1 root root 0 Jan 10 13:55 $root.error.log
>
> а это немного не то, чего хотелось :)

Однотипные сервера можно делать с помощью map.

http {
     map $http_host  $root  {
         kola.knutov.net      kola.knutov.net;
         www.kola.knutov.net  kola.knutov.net;
         ...
     }

     server {
         server_name   _ *;

         location / {
             root   /home/user1/$root/html;
         }
     }

Но лог файлы так разбить нельзя.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list