ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[3]: [apache-talk] nginx-0.1.0



On Thu, 7 Oct 2004, Nick S. Knutov wrote:

> IS> Правила пишутся на уровне http, server и location.
> IS> Обрабатываются в порядке написания, то есть, апачевского аналога
> IS> "order allow,deny" нет.
> IS> Первое же попадание под правило прекращает дальшейшую обработку.
>
>     Хм. Странно. А почему это делалось именно так?

В смысле "именно так" - не как в Апаче, или что ?

> >>    Кстати, как делается связка front-end (nginx) + back-end (Apache) ?
> >>    Например для случая когда есть один ip, один домен, и один порт(80).
> >>    Надо чтобы все файлы из .../video отдавалсиь nginx'ом, остальное
> >>    апачем. Чего и как писать в конфигах?
> IS>     location / {
> IS>          proxy_pass  http://backend/;
> IS>     }
> IS>     location /..../video/ {
> IS>          alias    /path/to/video/;
> IS>     }
>
>         Ага.
>         Смотрю на
>     post_accept_timeout    60;
>     client_header_timeout  3m;
>     client_body_timeout    3m;
>     send_timeout           3m;
>
>     Если файл у меня скажем 700 метров. Как высчитывать эти цифры? С
>     учетом того, что клиент может оказаться с обычного модема на
>     28800. А еще он может использовать докачку. nginx ее умеет?

Для модема это нормальные цифры.

send_timeout - это таймаут не на весь файл, а на одну операцию, за
которую передаётся кусок размером 16-64K в зависимости от размер ядерного
TCP буфера. Это примерно то же, что в Апаче Timeout.

post_accept_timeout - таёмаут между принятием соединения и собствено запросом.
client_header_timeout - таймаут на приём васего заголовка запроса.

client_body_timeout - таймаут при четнии тела запроса кусками по
client_body_buffer_size.

Докачку умеет. По науке это называется bytes-ranges.

>     Еще. Я раньше никогда не делал разделения front и back -end'ов.
>     Просто пользовался одним апачем. Поэтому не совсем понимаю принцип
>     работы. Объясни пожалуйста, если "proxy_pass  http://backend/;";,
>     то получается что что-то одно из множества [ip,host,port] у меня
>     будет уже другое. Или я неправильно понимаю?

Обычно бэкенд вешают на другом порту или на localhost:80.

>     Еще не понимаю - в общем случае получается (т.е. я хочу чтобы
>     получилось) что и апач и nginx биндятся на один ip и на один порт.
>     Это происходит и работает нормально? И их надо запускать в
>     какой-то определенной последовательности, чтобы nginx оказался
>     именно форнт-ендом? Или как?

Можно сделать так:
apache localhost:80
nginx  ip:80

или так (работает во по крайней мере во FreeBSD):
apache *:80
nginx  ip:80

nginx во втором случае надо запускать после Апача (а может и без разницы -
не проверял).


Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.