Re: Отдача сжатого контента из мемкеша

Maxim Dounin mdounin at mdounin.ru
Fri Aug 10 17:27:58 UTC 2012


Hello!

On Sat, Aug 11, 2012 at 12:05:09AM +0700, Igor V. Fatkulin wrote:

> 10.08.2012 23:40, Михаил Монашёв пишет:
> >Здравствуйте, Igor.
> >
> >
> >>Мне слегка неловко задавать этот вопрос, но все-таки - есть у кого-нть
> >>пример корректной настройки вот этой секции:
> >>server {
> >>      location / {
> >>          set            $memcached_key "$uri?$args";
> >>          memcached_pass host:11211;
> >>          error_page     404 502 504 = @fallback;
> >>      }
> >>      location @fallback {
> >>          proxy_pass     http://backend;
> >>      }
> >>}
> >>, чтобы корректно отдавался контент, сжатый PHPой?
> >>Нашел вот эту ссылку http://marrch-caat.livejournal.com/678321.html
> >>И вот этот пример http://alexandr.sysoev.ru/node/154, который у меня не
> >>заработал.
> >По-хорошему надо расжимать контент, который не хотят принимать сжатым.
> >Вот этим модулем: http://mdounin.ru/hg/ngx_http_gunzip_filter_module/ .
> >
> >А  в  Вашем  случае  можно  включить  debug-лог  и посмотреть, что там
> >происходит.
> 
> Влючил дебаг, в логе идет запись о том, что ключ не был найден в
> мемкеше, после первого запроса скрипт пишет в мемкеш данные и при
> втором запросе ключ уже есть, в лог при это уже ничего не пишется, а
> контент выдается бинарный.

Заголовок Content-Encoding добавлять не забываем - и всё будет.  
На просто поиграться - можно сделать add_header, браузеру хватит.

Чтобы прикручивать разжатие - понадобится вот такой патч,
добавляющий директиву memcached_gzip_flag:

http://mailman.nginx.org/pipermail/nginx-devel/2011-September/001163.html

Maxim Dounin



Подробная информация о списке рассылки nginx-ru