view xml/ru/docs/http/ngx_http_memcached_module.xml @ 675:08140f6b7964

Documented gunzip module and corresponding changes.
author Vladimir Homutov <vl@nginx.com>
date Wed, 12 Sep 2012 09:35:47 +0000
parents 764fbac1b8b4
children 934fd358c944
line wrap: on
line source

<?xml version="1.0"?>

<!--
  Copyright (C) Igor Sysoev
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">

<module name="Модуль ngx_http_memcached_module"
        link="/ru/docs/http/ngx_http_memcached_module.html"
        lang="ru"
        rev="1">

<section id="summary">

<para>
Модуль <literal>ngx_http_memcached_module</literal> позволяет получать
ответ из сервера memcached.
Ключ задаётся в переменной <var>$memcached_key</var>.
Ответ в memcached должен быть предварительно помещён внешним по отношению
к nginx’у способом.
</para>

</section>


<section id="example" name="Пример конфигурации">

<para>
<example>
server {
    location / {
        set            $memcached_key "$uri?$args";
        memcached_pass host:11211;
        error_page     404 502 504 = @fallback;
    }

    location @fallback {
        proxy_pass     http://backend;
    }
}
</example>
</para>

</section>


<section id="directives" name="Директивы">

<directive name="memcached_buffer_size">
<syntax><value>размер</value></syntax>
<default>4k|8k</default>
<context>http</context>
<context>server</context>
<context>location</context>

<para>
Задаёт <value>размер</value> буфера, в который будет читаться ответ,
получаемый от сервера memcached.
Ответ синхронно передаётся клиенту сразу же по мере его поступления.
</para>

</directive>


<directive name="memcached_connect_timeout">
<syntax><value>время</value></syntax>
<default>60s</default>
<context>http</context>
<context>server</context>
<context>location</context>

<para>
Задаёт таймаут для установления соединения с сервером memcached.
Необходимо иметь в виду, что этот таймаут обычно не может превышать 75 секунд.
</para>

</directive>


<directive name="memcached_gzip_flag">
<syntax><value>флаг</value></syntax>
<default></default>
<context>http</context>
<context>server</context>
<context>location</context>
<appeared-in>1.3.6</appeared-in>

<para>
Включает проверку  указанного <value>флага</value> в ответе
сервера memcached и установку поля “<literal>Content-Encoding</literal>”
заголовка ответа в “<literal>gzip</literal>”, если этот флаг установлен.
</para>

</directive>


<directive name="memcached_next_upstream">
<syntax>
    <literal>error</literal> |
    <literal>timeout</literal> |
    <literal>invalid_response</literal> |
    <literal>not_found</literal> |
    <literal>off</literal>
    ...</syntax>
<default>error timeout</default>
<context>http</context>
<context>server</context>
<context>location</context>

<para>
Определяет, в каких случаях запрос будет передан следующему серверу:
<list type="tag">

<tag-name><literal>error</literal></tag-name>
<tag-desc>произошла ошибка соединения с сервером, передачи ему запроса или
чтения заголовка ответа сервера;</tag-desc>

<tag-name><literal>timeout</literal></tag-name>
<tag-desc>произошёл таймаут во время соединения с сервером,
передачи ему запроса или чтения заголовка ответа сервера;</tag-desc>

<tag-name><literal>invalid_response</literal></tag-name>
<tag-desc>сервер вернул пустой или неверный ответ;</tag-desc>

<tag-name><literal>not_found</literal></tag-name>
<tag-desc>сервер не нашёл ответ;</tag-desc>

<tag-name><literal>off</literal></tag-name>
<tag-desc>запрещает передачу запроса следующему серверу.</tag-desc>

</list>
</para>

<para>
Необходимо понимать, что передача запроса следующему серверу возможна
только при условии, что клиенту ещё ничего не передавалось.
То есть, если ошибка или таймаут возникли в середине передачи ответа,
то исправить это уже невозможно.
</para>

</directive>


<directive name="memcached_pass">
<syntax><value>адрес</value></syntax>
<default/>
<context>location</context>
<context>if в location</context>

<para>
Задаёт адрес сервера memcached.
Адрес может быть указан в виде доменного имени или адреса, и порта, например,
<example>
memcached_pass localhost:11211;
</example>
</para>

<para>
Если доменному имени соответствует несколько адресов, то все они будут
использоваться по очереди (round-robin).
И, кроме того, адрес может быть
<link doc="ngx_http_upstream_module.xml">группой серверов</link>.
</para>

</directive>


<directive name="memcached_read_timeout">
<syntax><value>время</value></syntax>
<default>60s</default>
<context>http</context>
<context>server</context>
<context>location</context>

<para>
Задаёт таймаут при чтении ответа сервера memcached.
Таймаут устанавливается не на всю передачу ответа,
а только между двумя операциями чтения.
Если по истечении этого времени сервер memcached ничего не передаст,
соединение закрывается.
</para>

</directive>


<directive name="memcached_send_timeout">
<syntax><value>время</value></syntax>
<default>60s</default>
<context>http</context>
<context>server</context>
<context>location</context>

<para>
Задаёт таймаут при передаче запроса серверу memcached.
Таймаут устанавливается не на всю передачу запроса,
а только между двумя операциями записи.
Если по истечении этого времени сервер memcached не примет новых данных,
соединение закрывается.
</para>

</directive>

</section>

</module>