<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">а если сайтов 50 штук?&nbsp;<div><br><div><div>On 17.01.2008, at 9:38, Denis F. Latypoff wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hello Eugene,<br><br>Thursday, January 17, 2008, 12:06:47 PM, you wrote:<br><br><blockquote type="cite">Hi all.<br></blockquote><br><blockquote type="cite">У меня есть Nginx (front) и Apache (backend).<br></blockquote><blockquote type="cite">На Apache крутятся вирт. хосты, файлы которых хранятся здесь<br></blockquote><blockquote type="cite">/home/httpd/site1.domain.com<br></blockquote><blockquote type="cite">/home/httpd/site2.domain.com<br></blockquote><blockquote type="cite">и т. д.<br></blockquote><blockquote type="cite">Статику (картинки, стили и прочее) хочу отдавать через nginx - все это хранится<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/home/httpd/site1.domain.com/statics<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/home/httpd/site2.domain.com/statics<br></blockquote><br><blockquote type="cite">Статика отдается примерно так:<br></blockquote><br><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($host ~* ^(www\.)?(.*)(\.domain\.com)$)<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set $myhost $2$3;<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></blockquote><br><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location ~* statics\/.*\.(png|jpg|jpeg|gif|swf)<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( -d /home/httpd/$myhost/ )<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root /home/httpd/$myhost/;<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></blockquote><br><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;location /<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass <a href="http://127.0.0.1:8008">http://127.0.0.1:8008</a>;<br></blockquote><blockquote type="cite"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></blockquote><br>server<br>{<br> &nbsp;&nbsp;&nbsp;listen ip:port;<br> &nbsp;&nbsp;&nbsp;server_name domain.com;<br><br> &nbsp;&nbsp;&nbsp;location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$<br> &nbsp;&nbsp;&nbsp;{<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root /home/httpd/domain.com/statics;<br> &nbsp;&nbsp;&nbsp;}<br><br> &nbsp;&nbsp;&nbsp;location /<br> &nbsp;&nbsp;&nbsp;{<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass <a href="http://127.0.0.1:8008">http://127.0.0.1:8008</a>;<br> &nbsp;&nbsp;&nbsp;}<br>}<br></div></blockquote><div><br class="webkit-block-placeholder"></div><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 10px; ">server<br>{<br>&nbsp;&nbsp;&nbsp;listen ip:port;<br>&nbsp;&nbsp;&nbsp;server_name *.domain.com;<br><br>&nbsp;&nbsp;&nbsp;location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root /home/httpd/$host/statics;<br>&nbsp;&nbsp;&nbsp;}<br>#из $host можно вычленить лишнии домены, 4-о уровня например и отбросить их за ненадобностью&nbsp;<br>&nbsp;&nbsp;&nbsp;location /<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass&nbsp;<a href="http://127.0.0.1:8008/">http://127.0.0.1:8008</a>;</span></div><div><span class="Apple-style-span" style="font-family: Monaco; font-size: 10px; ">&nbsp;&nbsp;&nbsp;}<br>}</span></div><br><blockquote type="cite"><div>server<br>{<br> &nbsp;&nbsp;&nbsp;listen ip:port;<br> &nbsp;&nbsp;&nbsp;server_name site1.domain.com;<br><br> &nbsp;&nbsp;&nbsp;location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$<br> &nbsp;&nbsp;&nbsp;{<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root /home/httpd/site1.domain.com/statics;<br> &nbsp;&nbsp;&nbsp;}<br><br> &nbsp;&nbsp;&nbsp;location /<br> &nbsp;&nbsp;&nbsp;{<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass <a href="http://127.0.0.1:8008">http://127.0.0.1:8008</a>;<br> &nbsp;&nbsp;&nbsp;}<br>}<br><br>server<br>{<br> &nbsp;&nbsp;&nbsp;listen ip:port;<br> &nbsp;&nbsp;&nbsp;server_name site2.domain.com;<br><br> &nbsp;&nbsp;&nbsp;location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$<br> &nbsp;&nbsp;&nbsp;{<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root /home/httpd/site2.domain.com/statics;<br> &nbsp;&nbsp;&nbsp;}<br><br> &nbsp;&nbsp;&nbsp;location /<br> &nbsp;&nbsp;&nbsp;{<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass <a href="http://127.0.0.1:8008">http://127.0.0.1:8008</a>;<br> &nbsp;&nbsp;&nbsp;}<br>}<br><br><blockquote type="cite">Так оно работает хорошо. Пока не привязать в вирт. хосту домен 2 уровня.<br></blockquote><blockquote type="cite">Единст. выход я так понимаю - статику тоже проксировать на Apache<br></blockquote><blockquote type="cite">(просто не знаю как определить соответствие домена 3 уровня и домена 2 уровня, а значит и папку вирт. хоста)<br></blockquote><blockquote type="cite">Но при этом для таких хостов все равно сработавает location ~* statics. Я так понимаю для него root = html.<br></blockquote><blockquote type="cite">Как сделать так, чтобы для таких доменов данный location не срабатывал?<br></blockquote><br><blockquote type="cite">---------------------<br></blockquote><blockquote type="cite">Спасибо,<br></blockquote><blockquote type="cite">с уважением Евгений Фоминых.<br></blockquote><br><br><br>-- <br>Best regards,<br> Denis &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:denis@gostats.ru">mailto:denis@gostats.ru</a><br><br><br></div></blockquote></div><br></div></body></html>