ПРОЕКТЫ 


  АРХИВ 


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: Nginx и виртуальные хосты



Hello Eugene,

Thursday, January 17, 2008, 12:06:47 PM, you wrote:

> Hi all.

> У меня есть Nginx (front) и Apache (backend).
> На Apache крутятся вирт. хосты, файлы которых хранятся здесь
> /home/httpd/site1.domain.com
> /home/httpd/site2.domain.com
> и т. д.
> Статику (картинки, стили и прочее) хочу отдавать через nginx - все это 
> хранится
>         /home/httpd/site1.domain.com/statics
>         /home/httpd/site2.domain.com/statics

> Статика отдается примерно так:

>          if ($host ~* ^(www\.)?(.*)(\.domain\.com)$)
>          {
>              set $myhost $2$3;
>          }

>          location ~* statics\/.*\.(png|jpg|jpeg|gif|swf)
>          {
>              if ( -d /home/httpd/$myhost/ )
>              {
>                  root /home/httpd/$myhost/;
>              }
>          }

>          location /
>          {
>              proxy_pass http://127.0.0.1:8008;
>          }

server
{
    listen ip:port;
    server_name domain.com;

    location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$
    {
        root /home/httpd/domain.com/statics;
    }

    location /
    {
        proxy_pass http://127.0.0.1:8008;
    }
}

server
{
    listen ip:port;
    server_name site1.domain.com;

    location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$
    {
        root /home/httpd/site1.domain.com/statics;
    }

    location /
    {
        proxy_pass http://127.0.0.1:8008;
    }
}

server
{
    listen ip:port;
    server_name site2.domain.com;

    location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$
    {
        root /home/httpd/site2.domain.com/statics;
    }

    location /
    {
        proxy_pass http://127.0.0.1:8008;
    }
}

> Так оно работает хорошо. Пока не привязать в вирт. хосту домен 2 уровня.
> Единст. выход я так понимаю - статику тоже проксировать на Apache
> (просто не знаю как определить соответствие домена 3 уровня и домена 2 
> уровня, а значит и папку вирт. хоста)
> Но при этом для таких хостов все равно сработавает location ~* statics. Я так 
> понимаю для него root = html.
> Как сделать так, чтобы для таких доменов данный location не срабатывал?

> ---------------------
> Спасибо,
> с уважением Евгений Фоминых.



-- 
Best regards,
 Denis                            mailto:denis@xxxxxxxxxx




 




Copyright © Lexa Software, 1996-2009.