Re: upload progress и 404 Not Found
Igor Sysoev
igor на sysoev.ru
Ср Авг 31 13:12:58 UTC 2011
On Wed, Aug 31, 2011 at 09:02:08AM -0400, locojohn wrote:
> Igor Sysoev Wrote:
> -------------------------------------------------------
> > On Wed, Aug 31, 2011 at 07:40:38AM -0400, locojohn
> > wrote:
> >
> > > # glue css/js files into a
> > single file for faster
> > > loading
> > > rewrite
> > .*/(css|javascript)/[^,]+,.+ /glue.php last;
> >
> > Вы действительно хотите,
> > чтобы PHP работал для каждой
> > загрузки css/javascript ?
>
> Нет, это только для специфичных линков,
> типа таких, для "склеивания" css/javascript в
> один файл (для быстрой загрузки):
>
> <link
> href="/css/jquery/uploadify3/uploadify.css,/jquery/ui-theme/jquery-ui-1.8.11.custom.css,/jquery/jquery.asmselect.css,/jquery/jqGrid-4.0.0/css/ui.jqgrid.css"
> rel="stylesheet" type="text/css" />
>
> PHP скрипт это дело склеивает, gzip-ит и
> кэширует.
>
> > Казалось бы, всё, что только
> > можно, лучше выносить в
> > статику.
>
> когда css или js файлов так много
> подргужается, их лучше склеить в один -
> влечёт за собой заментное увеличение
> производительности.
Проиводительности где ?
На каждый запрос CSS/javascript nginx передаёт запрос в PHP,
а потом принимает ответ (даже если PHP вытащил его из кэша).
Попробуйте замерить обычным ab разницу между ститикой и PHP.
Я думаю, разница будет на порядок.
> > Ничего не могу сказать по
> > собственно проблеме, но вот
> > это лучше записать так:
>
> > location ~ ^(?<script_filename>.+\.php)$ {
> > try_files $script_filename =404;
> >
>
> Спасибо. Я был в курсе такой
> конструкции, но немного побоялся её
> использовать потому что из
> документации непонятно, как именно
> работает try_files. То есть, если в нём
> снова указывается $script_filename, то, по
> логике, он снова триггерит тот же самый
> location, в котором он прописан, нет? Может
> быть имеет смысл описать в
> документации, что try_files повторно не
> запускает тот же location, в котором он
> находится?
nginx никакие location'ы не триггерит и не запускает.
Он ищет соответствующий location и работает согласно тому,
что описано в location'е.
try_files проверяет существование заданных файлов и если
их не находит делает внутренний редирект или возвращает указанную
ошибку.
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru