<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">а если сайтов 50 штук? <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"> /home/httpd/site1.domain.com/statics<br></blockquote><blockquote type="cite"> /home/httpd/site2.domain.com/statics<br></blockquote><br><blockquote type="cite">Статика отдается примерно так:<br></blockquote><br><blockquote type="cite"> if ($host ~* ^(www\.)?(.*)(\.domain\.com)$)<br></blockquote><blockquote type="cite"> {<br></blockquote><blockquote type="cite"> set $myhost $2$3;<br></blockquote><blockquote type="cite"> }<br></blockquote><br><blockquote type="cite"> location ~* statics\/.*\.(png|jpg|jpeg|gif|swf)<br></blockquote><blockquote type="cite"> {<br></blockquote><blockquote type="cite"> if ( -d /home/httpd/$myhost/ )<br></blockquote><blockquote type="cite"> {<br></blockquote><blockquote type="cite"> root /home/httpd/$myhost/;<br></blockquote><blockquote type="cite"> }<br></blockquote><blockquote type="cite"> }<br></blockquote><br><blockquote type="cite"> location /<br></blockquote><blockquote type="cite"> {<br></blockquote><blockquote type="cite"> proxy_pass <a href="http://127.0.0.1:8008">http://127.0.0.1:8008</a>;<br></blockquote><blockquote type="cite"> }<br></blockquote><br>server<br>{<br> listen ip:port;<br> server_name domain.com;<br><br> location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$<br> {<br> root /home/httpd/domain.com/statics;<br> }<br><br> location /<br> {<br> proxy_pass <a href="http://127.0.0.1:8008">http://127.0.0.1:8008</a>;<br> }<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> listen ip:port;<br> server_name *.domain.com;<br><br> location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$<br> {<br> root /home/httpd/$host/statics;<br> }<br>#из $host можно вычленить лишнии домены, 4-о уровня например и отбросить их за ненадобностью <br> location /<br> {<br> proxy_pass <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; "> }<br>}</span></div><br><blockquote type="cite"><div>server<br>{<br> listen ip:port;<br> server_name site1.domain.com;<br><br> location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$<br> {<br> root /home/httpd/site1.domain.com/statics;<br> }<br><br> location /<br> {<br> proxy_pass <a href="http://127.0.0.1:8008">http://127.0.0.1:8008</a>;<br> }<br>}<br><br>server<br>{<br> listen ip:port;<br> server_name site2.domain.com;<br><br> location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$<br> {<br> root /home/httpd/site2.domain.com/statics;<br> }<br><br> location /<br> {<br> proxy_pass <a href="http://127.0.0.1:8008">http://127.0.0.1:8008</a>;<br> }<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 <a href="mailto:denis@gostats.ru">mailto:denis@gostats.ru</a><br><br><br></div></blockquote></div><br></div></body></html>