diff xml/ru/docs/http/ngx_http_upstream_module.xml @ 316:1fb1c077658b

Documented the following directives: "keepalive", "proxy_http_version", and "fastcgi_keep_conn".
author Ruslan Ermilov <ru@nginx.com>
date Fri, 13 Jan 2012 18:10:34 +0000
parents 7bc830cc79bb
children da8c7db64391
line wrap: on
line diff
--- a/xml/ru/docs/http/ngx_http_upstream_module.xml	Fri Jan 13 18:05:01 2012 +0000
+++ b/xml/ru/docs/http/ngx_http_upstream_module.xml	Fri Jan 13 18:10:34 2012 +0000
@@ -87,6 +87,126 @@
 </directive>
 
 
+<directive name="keepalive">
+<syntax><value>соединения</value></syntax>
+<default/>
+<context>upstream</context>
+<appeared-in>1.1.4</appeared-in>
+
+<para>
+Задействует кэш соединений для группы серверов.
+</para>
+
+<para>
+Параметр <value>соединения</value> устанавливает максимальное число
+постоянных соединений с серверами группы, которые будут сохраняться
+в кэше каждого рабочего процесса.
+При превышении указанного числа неактивных постоянных соединений
+с серверами группы самые старые соединения закрываются.
+<note>
+Следует отметить, что директива <literal>keepalive</literal>
+не ограничивает общее число соединений, которые рабочие процессы
+nginx могут открыть с серверами группы.
+Новые соединения всегда создаются по мере необходимости.
+Параметр <value>соединения</value> следует устанавливать
+достаточно консервативно для обеспечения возможности
+обработки серверами группы новых входящих соединений.
+</note>
+</para>
+
+<para>
+Пример конфигурации группы серверов memcached с постоянными соединениями:
+<example>
+upstream memcached_backend {
+    server 127.0.0.1:11211;
+    server 10.0.0.2:11211;
+
+    keepalive 32;
+}
+
+server {
+    ...
+
+    location /memcached/ {
+        set $memcached_key $uri;
+        memcached_pass memcached_backend;
+    }
+
+}
+</example>
+</para>
+
+<para>
+Для HTTP директиву
+<link doc="ngx_http_proxy_module.xml" id="proxy_http_version"/>
+следует установить в “<literal>1.1</literal>”,
+а строку заголовка <header>Connection</header> — очистить:
+<example>
+upstream http_backend {
+    server 127.0.0.1:8080;
+
+    keepalive 16;
+}
+
+server {
+    ...
+
+    location /http/ {
+        proxy_pass http://http_backend;
+        proxy_http_version 1.1;
+        proxy_set_header Connection "";
+        ...
+    }
+}
+</example>
+</para>
+
+<para>
+<note>
+Хоть это и не рекомендуется, но также возможно использование постоянных
+соединений в HTTP/1.0, путём передачи строки заголовка
+<header>Connection: Keep-Alive</header> серверу группы.
+</note>
+</para>
+
+<para>
+Для работы постоянных соединений с FastCGI-серверами потребуется
+включить директиву
+<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_keep_conn"/>:
+<example>
+upstream fastcgi_backend {
+    server 127.0.0.1:9000;
+
+    keepalive 8;
+}
+
+server {
+    ...
+
+    location /fastcgi/ {
+        fastcgi_pass fastcgi_backend;
+        fastcgi_keep_conn on;
+        ...
+    }
+}
+</example>
+</para>
+
+<para>
+<note>
+При использовании модулей балансировки нагрузки, отличных
+от стандартного round-robin, следует активировать их до
+директивы <literal>keepalive</literal>.
+</note>
+
+<note>
+Протоколы SCGI и uwsgi не определяют семантику постоянных соединений.
+</note>
+</para>
+
+</directive>
+
+
 <directive name="server">
 <syntax><value>название</value> [<value>параметры</value>]</syntax>
 <default/>