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
|