ПРОЕКТЫ 


  АРХИВ 


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: вопрос, set



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



 




Copyright © Lexa Software, 1996-2009.