vhosting and map { }

Dmitry Morozovsky marck at rinet.ru
Wed Jun 21 14:23:14 MSD 2006


On Wed, 21 Jun 2006, Igor Sysoev wrote:

IS> > расскажите мне, как правильно строить виртуальных хостинг. в частности,
IS> > как
IS> > разумно использовать map - а то из информации на
IS> > http://sysoev.ru/nginx/docs/http/ngx_http_map_module.html и разглядывания
IS> > исходников я как-то не очень много выцепил.
IS> > 
IS> > Например, хочется малой кровью сделать что-то типа
IS> > 
IS> > map $http_host $root {
IS> >   hostnames;
IS> > 
IS> >   .domain1.tld  /www/domain1;
IS> >   .domain2.tld  /www/domain2;
IS> 
IS>     .domain1.tld  www/domain1;
IS>     .domain2.tld  www/domain2;
IS> 
IS>     default       www/default;
IS> 
IS> >   ...
IS> > }
IS> > 
IS> > server {
IS> >  server_name $http_host;
IS> >  location ~* \.(ico|jpg|jpeg|gif|png|mp3|avi|mpg|mpeg|txt|html?)$ {
IS> >    root   $root/html;
IS> 
IS>      root   /$root/html;
IS> 
IS> >  }
IS> >  location / {
IS> >    proxy_pass http://127.0.0.1:80;
IS> 
IS>      proxy_set_header  Host  $host;
IS> 
IS> >  }
IS> > }
IS> > 

Хм. Что-то не работает. Пара виртуальных серверов, описанная мимо мапа, 
работает, а выроджденная ситуация типа

    server {
        include         listen.conf;
        server_name     $http_host;
	location = / {
	        root /www/$sroot/html;
	        index index.html index.shtml index.htm index.php;
	}
        location / {
                proxy_pass              http://127.0.0.1;
        }
    }

фигу - в качестве $document_root пишет root от первого из описанных серверов.

Где я не вижу очевидного?

Sincerely,
D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck at rinet.ru ***
------------------------------------------------------------------------


More information about the nginx-ru mailing list