Nginx и виртуальные хосты

Eugene Fominykh worrks at gmail.com
Thu Jan 17 09:06:47 MSK 2008


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;
         }

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

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





More information about the nginx-ru mailing list