Mercurial > hg > nginx-site
view xml/ru/docs/http/ngx_http_memcached_module.xml @ 1030:8bbfe30a36c1
FAQ page revision bump.
author | Andrei Belov <defan@nginx.com> |
---|---|
date | Fri, 13 Dec 2013 17:39:12 +0400 |
parents | 95c3c3bbf1ce |
children | a8a643647c76 |
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="6"> <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_bind"> <syntax><value>адрес</value> | <literal>off</literal></syntax> <default/> <context>http</context> <context>server</context> <context>location</context> <appeared-in>0.8.22</appeared-in> <para> Задаёт локальный IP-<value>адрес</value>, который будет использоваться в исходящих соединениях с сервером memcached. В значении параметра допустимо использование переменных (1.3.12). Специальное значение <literal>off</literal> (1.3.12) отменяет действие унаследованной с предыдущего уровня конфигурации директивы <literal>memcached_bind</literal>, позволяя системе самостоятельно выбирать локальный IP-адрес. </para> </directive> <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> <para> Директива также определяет, что считается неудачной попыткой работы с <link doc="ngx_http_upstream_module.xml" id="server">сервером</link>. Случаи <literal>error</literal>, <literal>timeout</literal> и <literal>invalid_response</literal> всегда считаются неудачными попытками, даже если они не указаны в директиве. Случай <literal>not_found</literal> никогда не считается неудачной попыткой. </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> или в виде пути UNIX-сокета: <example> memcached_pass unix:/tmp/memcached.socket; </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>