Есть в конфиге такие строчки
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