Re: Nginx и виртуальные хосты
Alexey V. Karagodov
karagodov at gmail.com
Thu Jan 17 09:46:51 MSK 2008
а если сайтов 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 at gostats.ru
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080117/10970057/attachment.html>
More information about the nginx-ru
mailing list