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