comparison 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
comparison
equal deleted inserted replaced
315:e00f8f8c0486 316:1fb1c077658b
80 server backend2.example.com; 80 server backend2.example.com;
81 server backend3.example.com <emphasis>down</emphasis>; 81 server backend3.example.com <emphasis>down</emphasis>;
82 server backend4.example.com; 82 server backend4.example.com;
83 } 83 }
84 </example> 84 </example>
85 </para>
86
87 </directive>
88
89
90 <directive name="keepalive">
91 <syntax><value>соединения</value></syntax>
92 <default/>
93 <context>upstream</context>
94 <appeared-in>1.1.4</appeared-in>
95
96 <para>
97 Задействует кэш соединений для группы серверов.
98 </para>
99
100 <para>
101 Параметр <value>соединения</value> устанавливает максимальное число
102 постоянных соединений с серверами группы, которые будут сохраняться
103 в кэше каждого рабочего процесса.
104 При превышении указанного числа неактивных постоянных соединений
105 с серверами группы самые старые соединения закрываются.
106 <note>
107 Следует отметить, что директива <literal>keepalive</literal>
108 не ограничивает общее число соединений, которые рабочие процессы
109 nginx могут открыть с серверами группы.
110 Новые соединения всегда создаются по мере необходимости.
111 Параметр <value>соединения</value> следует устанавливать
112 достаточно консервативно для обеспечения возможности
113 обработки серверами группы новых входящих соединений.
114 </note>
115 </para>
116
117 <para>
118 Пример конфигурации группы серверов memcached с постоянными соединениями:
119 <example>
120 upstream memcached_backend {
121 server 127.0.0.1:11211;
122 server 10.0.0.2:11211;
123
124 keepalive 32;
125 }
126
127 server {
128 ...
129
130 location /memcached/ {
131 set $memcached_key $uri;
132 memcached_pass memcached_backend;
133 }
134
135 }
136 </example>
137 </para>
138
139 <para>
140 Для HTTP директиву
141 <link doc="ngx_http_proxy_module.xml" id="proxy_http_version"/>
142 следует установить в “<literal>1.1</literal>”,
143 а строку заголовка <header>Connection</header> — очистить:
144 <example>
145 upstream http_backend {
146 server 127.0.0.1:8080;
147
148 keepalive 16;
149 }
150
151 server {
152 ...
153
154 location /http/ {
155 proxy_pass http://http_backend;
156 proxy_http_version 1.1;
157 proxy_set_header Connection "";
158 ...
159 }
160 }
161 </example>
162 </para>
163
164 <para>
165 <note>
166 Хоть это и не рекомендуется, но также возможно использование постоянных
167 соединений в HTTP/1.0, путём передачи строки заголовка
168 <header>Connection: Keep-Alive</header> серверу группы.
169 </note>
170 </para>
171
172 <para>
173 Для работы постоянных соединений с FastCGI-серверами потребуется
174 включить директиву
175 <link doc="ngx_http_fastcgi_module.xml" id="fastcgi_keep_conn"/>:
176 <example>
177 upstream fastcgi_backend {
178 server 127.0.0.1:9000;
179
180 keepalive 8;
181 }
182
183 server {
184 ...
185
186 location /fastcgi/ {
187 fastcgi_pass fastcgi_backend;
188 fastcgi_keep_conn on;
189 ...
190 }
191 }
192 </example>
193 </para>
194
195 <para>
196 <note>
197 При использовании модулей балансировки нагрузки, отличных
198 от стандартного round-robin, следует активировать их до
199 директивы <literal>keepalive</literal>.
200 </note>
201
202 <note>
203 Протоколы SCGI и uwsgi не определяют семантику постоянных соединений.
204 </note>
85 </para> 205 </para>
86 206
87 </directive> 207 </directive>
88 208
89 209