А РХИВ :: 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 и виртуа льные хос ты
To : nginx-ru@xxxxxxxxx
Subject : Re: Nginx и виртуа льные хос ты
From : "Alexey V. Karagodov" <karagodov@xxxxxxxxx >
Date: Thu, 17 Jan 2008 09:46:51 +0300
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:to:in-reply-to:content-type:mime-version:subject:x-priority:date:references:x-mailer:from; bh=NSWNBEHk3JY7rPbnuVYb6zYSyyOxplSw364YmPiKipU=; b=qmx2dLC5vgcJp1GQIvuDcZYjDAa0K5G67DDDn2vq9lgDzg0Xo4rc2oYbddzZeFTwG1OUhAWaWkZBQ5yxzehnmc8CgKWUxCw3w/KuqFpl5e15+JOmUhhcMO7JiJHt9xX+F5GnGQkXt1l7FKS1riWxixMByzHCI76n6eMMs6CpyUc=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:to:in-reply-to:content-type:mime-version:subject:x-priority:date:references:x-mailer:from; b=NTk4egHkcLy51ZXEiF/FmjExAwSj+WA5+C50RMUmjDTX+eKBAPNXrApdjDmOsvb/+9dINyy8bbXZtLhC6p+mL6sBjfDIyC/vtb5yYvCmOZNY788daCQNKaWpiySVHLcutBvm4YfCOa0kSSvlI8yBv7hcDCU5vOw0w2GSnRIB6t8=
In-reply-to: <1124695149.20080117123838@xxxxxxxxxx >
References: <478EF077.2080706@xxxxxxxxx > <1124695149.20080117123838@xxxxxxxxxx >
а если сайтов 50 штук? On 17.01.2008, at 9:38, Denis F. Latypoff wrote:
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 *.domain.com; location ~* ^/statics\/.*\.(png|jpg|jpeg|gif|swf)$ { root /home/httpd/$host/statics; } #из $host можно вычленить лишнии домены, 4-о уровня например и отбросить их за ненадобностью 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