ПРОЕКТЫ 


  АРХИВ 


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: vhosting and map { }



On Wed, 21 Jun 2006, Dmitry Morozovsky wrote:

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;

Вот это вот
        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 от первого из описанных серверов.

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

Вырожденный сервер нужно поместить в начало. Или во всех listen
для него указать default.


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



 




Copyright © Lexa Software, 1996-2009.