annotate xml/ru/docs/http/ngx_http_upstream_module.xml @ 1125:9a95b9026a16

Upstream: reallocated the "queue" directive.
author Ruslan Ermilov <ru@nginx.com>
date Fri, 21 Mar 2014 10:50:24 +0400
parents d790333947f4
children 2e28d1c4a0a2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
222
bfe3eff81d04 Removed redundant encoding specification.
Ruslan Ermilov <ru@nginx.com>
parents: 135
diff changeset
1 <?xml version="1.0"?>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
580
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 566
diff changeset
3 <!--
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 566
diff changeset
4 Copyright (C) Igor Sysoev
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 566
diff changeset
5 Copyright (C) Nginx, Inc.
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 566
diff changeset
6 -->
be54c443235a Added copyright markers to documentation sources.
Ruslan Ermilov <ru@nginx.com>
parents: 566
diff changeset
7
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
10 <module name="Модуль ngx_http_upstream_module"
135
edf8c90f8085 Renamed ngx_http_upstream to ngx_http_upstream_module.
Ruslan Ermilov <ru@nginx.com>
parents: 110
diff changeset
11 link="/ru/docs/http/ngx_http_upstream_module.html"
589
764fbac1b8b4 Added document revision.
Ruslan Ermilov <ru@nginx.com>
parents: 580
diff changeset
12 lang="ru"
1016
2d8269d8fea8 Translated documentation on cache revalidation into russian.
Vladimir Homutov <vl@nginx.com>
parents: 966
diff changeset
13 rev="5">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14
110
40eec261c2a6 Added proper support for anonymous sections, notably for the summary.
Ruslan Ermilov <ru@nginx.com>
parents: 108
diff changeset
15 <section id="summary">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 <para>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
18 Модуль <literal>ngx_http_upstream_module</literal>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
19 позволяет описывать группы серверов,
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20 которые могут использоваться в директивах
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
21 <link doc="ngx_http_proxy_module.xml" id="proxy_pass"/>,
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
22 <link doc="ngx_http_fastcgi_module.xml" id="fastcgi_pass"/> и
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
23 <link doc="ngx_http_memcached_module.xml" id="memcached_pass"/>.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
29 <section id="example" name="Пример конфигурации">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 <example>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
33 upstream <emphasis>backend</emphasis> {
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
34 server backend1.example.com weight=5;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
35 server backend2.example.com:8080;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
36 server unix:/tmp/backend3;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
38 server backup1.example.com:8080 backup;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
39 server backup2.example.com:8080 backup;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 server {
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43 location / {
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
44 proxy_pass http://<emphasis>backend</emphasis>;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
49
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
50 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
51
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
52
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
53 <section id="directives" name="Директивы">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
55 <directive name="upstream">
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
56 <syntax block="yes"><value>название</value></syntax>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
57 <default/>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
58 <context>http</context>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
59
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
60 <para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
61 Описывает группу серверов.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
62 Серверы могут слушать на разных портах.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
63 Кроме того, можно одновременно использовать серверы,
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
64 слушающие на TCP- и UNIX-сокетах.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
65 </para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
66
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
67 <para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
68 Пример:
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
69 <example>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
70 upstream backend {
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
71 server backend1.example.com weight=5;
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
72 server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
73 server unix:/tmp/backend3;
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
74 }
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
75 </example>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
76 </para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
77
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
78 <para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
79 По умолчанию запросы распределяются по серверам циклически
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
80 (в режиме round-robin) с учётом весов серверов.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
81 В вышеприведённом примере каждые 7 запросов будут распределены так:
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
82 5 запросов на <literal>backend1.example.com</literal>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
83 и по одному запросу на второй и третий серверы.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
84 Если при попытке работы с сервером происходит ошибка, то запрос
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
85 передаётся следующему серверу, и так далее до тех пор, пока не будут опробованы
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
86 все работающие серверы.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
87 Если не удастся получить успешный ответ
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
88 ни от одного из серверов, то клиенту будет возвращён результат работы
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
89 с последним сервером.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
90 </para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
91
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
92 </directive>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
93
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
94
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
95 <directive name="server">
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
96 <syntax><value>адрес</value> [<value>параметры</value>]</syntax>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
97 <default/>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
98 <context>upstream</context>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
99
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
100 <para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
101 Задаёт <value>адрес</value> и другие <value>параметры</value>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
102 сервера.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
103 Адрес может быть указан в виде доменного имени или IP-адреса,
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
104 и необязательного порта, или в виде пути UNIX-сокета, который
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
105 указывается после префикса “<literal>unix:</literal>”.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
106 Если порт не указан, используется порт 80.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
107 Доменное имя, которому соответствует несколько IP-адресов,
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
108 задаёт сразу несколько серверов.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
109 </para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
110
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
111 <para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
112 Могут быть заданы следующие параметры:
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
113 <list type="tag">
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
114
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
115 <tag-name><literal>weight</literal>=<value>число</value></tag-name>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
116 <tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
117 задаёт вес сервера, по умолчанию 1.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
118 </tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
119
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
120 <tag-name><literal>max_fails</literal>=<value>число</value></tag-name>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
121 <tag-desc>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
122 задаёт число неудачных попыток работы с сервером, которые должны произойти
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
123 в промежуток времени, заданный параметром <literal>fail_timeout</literal>,
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
124 чтобы сервер считался неработающим на период времени, также заданный
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
125 параметром <literal>fail_timeout</literal>.
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
126 По умолчанию число попыток устанавливается равным 1.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
127 Нулевое значение отключает учёт попыток.
942
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
128 Что считается неудачной попыткой, определяется директивами
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
129 <link doc="ngx_http_proxy_module.xml" id="proxy_next_upstream"/>,
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
130 <link doc="ngx_http_fastcgi_module.xml" id="fastcgi_next_upstream"/> и
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
131 <link doc="ngx_http_memcached_module.xml" id="memcached_next_upstream"/>.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
132 </tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
133
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
134 <tag-name><literal>fail_timeout</literal>=<value>время</value></tag-name>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
135 <tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
136 задаёт
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
137 <list type="bullet">
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
138
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
139 <listitem>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
140 время, в течение которого должно произойти заданное число неудачных
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
141 попыток работы с сервером для того, чтобы сервер считался неработающим;
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
142 </listitem>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
143
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
144 <listitem>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
145 и время, в течение которого сервер будет считаться неработающим.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
146 </listitem>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
147
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
148 </list>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
149 По умолчанию параметр равен 10 секундам.
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
150 </tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
151
1121
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
152 <tag-name id="max_conns">
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
153 <literal>max_conns</literal>=<value>число</value>
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
154 </tag-name>
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
155 <tag-desc>
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
156 ограничивает максимальное <value>число</value> одновременных соединений
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
157 к проксируемому серверу (1.5.9).
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
158 Значение по умолчанию равно 0 и означает, что ограничения нет.
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
159 <note>
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
160 Эта функциональность доступна как часть <commercial_version/>.
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
161 </note>
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
162 </tag-desc>
7d3d2bf39190 Upstream: translated "max_conns" into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1075
diff changeset
163
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
164 <tag-name><literal>backup</literal></tag-name>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
165 <tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
166 помечает сервер как запасной сервер.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
167 На него будут передаваться запросы в случае, если не работают основные серверы.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
168 </tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
169
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
170 <tag-name><literal>down</literal></tag-name>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
171 <tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
172 помечает сервер как постоянно неработающий; используется
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
173 совместно с директивой <link id="ip_hash"/>.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
174 </tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
175
1124
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
176 <tag-name id="resolve">
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
177 <literal>resolve</literal>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
178 </tag-name>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
179 <tag-desc>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
180 отслеживает изменения IP-адресов, соответствующих доменному имени сервера,
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
181 и автоматически изменяет конфигурацию группы
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
182 без необходимости перезапуска nginx (1.5.12)
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
183 <para>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
184 Для работы этого параметра
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
185 директива <link doc="ngx_http_core_module.xml" id="resolver"/>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
186 должна быть задана в блоке
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
187 <link doc="ngx_http_core_module.xml" id="http"/>.
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
188 <example>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
189 http {
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
190 resolver 10.0.0.1;
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
191
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
192 upstream u {
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
193 zone ...;
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
194 ...
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
195 server example.com resolve;
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
196 }
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
197 }
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
198 </example>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
199 </para>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
200 <note>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
201 Эта функциональность доступна как часть <commercial_version/>.
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
202 </note>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
203 </tag-desc>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
204
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
205 </list>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
206 </para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
207
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
208 <para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
209 Пример:
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
210 <example>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
211 upstream backend {
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
212 server backend1.example.com weight=5;
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
213 server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
214 server unix:/tmp/backend3;
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
215
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
216 server backup1.example.com:8080 backup;
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
217 }
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
218 </example>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
219 </para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
220
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
221 </directive>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
222
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
223
1123
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
224 <directive name="zone">
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
225 <syntax><value>имя</value> <value>размер</value></syntax>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
226 <default/>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
227 <context>upstream</context>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
228
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
229 <para>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
230 Задаёт <value>имя</value> и <value>размер</value> зоны разделяемой памяти,
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
231 в которой хранятся конфигурация группы и рабочее состояние,
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
232 разделяемые между рабочими процессами.
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
233 В таких группах возможно изменение состава группы или
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
234 настроек отдельных серверов без необходимости перезапуска nginx.
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
235 Конфигурация доступна через специальный location,
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
236 для которого указана директива <link id="upstream_conf"/>.
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
237 </para>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
238
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
239 <para>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
240 <note>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
241 Эта директива доступна как часть <commercial_version/>.
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
242 </note>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
243 </para>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
244
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
245 </directive>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
246
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
247
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
248 <directive name="ip_hash">
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
249 <syntax/>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 79
diff changeset
250 <default/>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
251 <context>upstream</context>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
252
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
253 <para>
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
254 Задаёт для группы метод балансировки нагрузки, при котором запросы
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
255 распределяются по серверам на основе IP-адресов клиентов.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
256 В качестве ключа для хэширования используются первые три
542
a9e6a8613534 Documented IPv6 support in ip_hash.
Ruslan Ermilov <ru@nginx.com>
parents: 533
diff changeset
257 октета IPv4-адреса клиента или IPv6-адрес клиента целиком.
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
258 Метод гарантирует, что запросы одного и того же клиента
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
259 будут всегда передаваться на один и тот же сервер.
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
260 Если же этот сервер будет считаться неработающим,
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
261 то запросы этого клиента будут передаваться на другой сервер.
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
262 С большой долей вероятности это также будет один и тот же сервер.
542
a9e6a8613534 Documented IPv6 support in ip_hash.
Ruslan Ermilov <ru@nginx.com>
parents: 533
diff changeset
263 <note>
566
f8148fc88224 Documented 1.2.2 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 542
diff changeset
264 IPv6-адреса поддерживаются начиная с версий 1.3.2 и 1.2.2.
542
a9e6a8613534 Documented IPv6 support in ip_hash.
Ruslan Ermilov <ru@nginx.com>
parents: 533
diff changeset
265 </note>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
266 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
267
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
268 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
269 Если один из серверов нужно убрать на некоторое время, то для сохранения
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
270 текущего хэширования IP-адресов клиентов этот сервер нужно пометить
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
271 параметром <literal>down</literal>.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
272 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
273
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
274 <para>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
275 Пример:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
276 <example>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
277 upstream backend {
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
278 ip_hash;
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
279
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
280 server backend1.example.com;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
281 server backend2.example.com;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
282 server backend3.example.com <emphasis>down</emphasis>;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
283 server backend4.example.com;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
284 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
285 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
286 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
287
526
4f907cde0382 1.3.1 changes: ip_hash+weight, least_conn.
Ruslan Ermilov <ru@nginx.com>
parents: 367
diff changeset
288 <para>
4f907cde0382 1.3.1 changes: ip_hash+weight, least_conn.
Ruslan Ermilov <ru@nginx.com>
parents: 367
diff changeset
289 <note>
566
f8148fc88224 Documented 1.2.2 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 542
diff changeset
290 До версий 1.3.1 и 1.2.2 для серверов, использующих метод балансировки нагрузки
526
4f907cde0382 1.3.1 changes: ip_hash+weight, least_conn.
Ruslan Ermilov <ru@nginx.com>
parents: 367
diff changeset
291 <literal>ip_hash</literal>, нельзя было задать вес.
4f907cde0382 1.3.1 changes: ip_hash+weight, least_conn.
Ruslan Ermilov <ru@nginx.com>
parents: 367
diff changeset
292 </note>
4f907cde0382 1.3.1 changes: ip_hash+weight, least_conn.
Ruslan Ermilov <ru@nginx.com>
parents: 367
diff changeset
293 </para>
4f907cde0382 1.3.1 changes: ip_hash+weight, least_conn.
Ruslan Ermilov <ru@nginx.com>
parents: 367
diff changeset
294
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
295 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
296
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
297
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
298 <directive name="keepalive">
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
299 <syntax><value>соединения</value></syntax>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
300 <default/>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
301 <context>upstream</context>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
302 <appeared-in>1.1.4</appeared-in>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
303
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
304 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
305 Задействует кэш соединений для группы серверов.
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
306 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
307
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
308 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
309 Параметр <value>соединения</value> устанавливает максимальное число
654
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
310 неактивных постоянных соединений с серверами группы, которые будут
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
311 сохраняться в кэше каждого рабочего процесса.
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
312 При превышении этого числа наиболее давно не используемые соединения
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
313 закрываются.
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
314 <note>
654
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
315 Следует особо отметить, что директива <literal>keepalive</literal>
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
316 не ограничивает общее число соединений с серверами группы, которые
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
317 рабочие процессы nginx могут открыть.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
318 Параметр <value>соединения</value> следует устанавливать достаточно
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
319 консервативно, чтобы серверы группы по-прежнему могли обрабатывать
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
320 новые входящие соединения.
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
321 </note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
322 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
323
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
324 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
325 Пример конфигурации группы серверов memcached с постоянными соединениями:
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
326 <example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
327 upstream memcached_backend {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
328 server 127.0.0.1:11211;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
329 server 10.0.0.2:11211;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
330
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
331 keepalive 32;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
332 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
333
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
334 server {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
335 ...
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
336
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
337 location /memcached/ {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
338 set $memcached_key $uri;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
339 memcached_pass memcached_backend;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
340 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
341
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
342 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
343 </example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
344 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
345
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
346 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
347 Для HTTP директиву
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
348 <link doc="ngx_http_proxy_module.xml" id="proxy_http_version"/>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
349 следует установить в “<literal>1.1</literal>”,
367
f4033b9bc4ec - Removed unnecessary instances of unbreakable space.
Ruslan Ermilov <ru@nginx.com>
parents: 325
diff changeset
350 а поле заголовка <header>Connection</header> — очистить:
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
351 <example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
352 upstream http_backend {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
353 server 127.0.0.1:8080;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
354
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
355 keepalive 16;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
356 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
357
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
358 server {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
359 ...
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
360
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
361 location /http/ {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
362 proxy_pass http://http_backend;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
363 proxy_http_version 1.1;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
364 proxy_set_header Connection "";
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
365 ...
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
366 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
367 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
368 </example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
369 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
370
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
371 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
372 <note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
373 Хоть это и не рекомендуется, но также возможно использование постоянных
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
374 соединений с HTTP/1.0, путём передачи поля заголовка
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
375 <header>Connection: Keep-Alive</header> серверу группы.
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
376 </note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
377 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
378
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
379 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
380 Для работы постоянных соединений с FastCGI-серверами потребуется
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
381 включить директиву
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
382 <link doc="ngx_http_fastcgi_module.xml" id="fastcgi_keep_conn"/>:
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
383 <example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
384 upstream fastcgi_backend {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
385 server 127.0.0.1:9000;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
386
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
387 keepalive 8;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
388 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
389
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
390 server {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
391 ...
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
392
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
393 location /fastcgi/ {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
394 fastcgi_pass fastcgi_backend;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
395 fastcgi_keep_conn on;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
396 ...
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
397 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
398 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
399 </example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
400 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
401
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
402 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
403 <note>
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
404 При использовании методов балансировки нагрузки, отличных
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
405 от стандартного round-robin, следует активировать их до
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
406 директивы <literal>keepalive</literal>.
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
407 </note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
408
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
409 <note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
410 Протоколы SCGI и uwsgi не определяют семантику постоянных соединений.
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
411 </note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
412 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
413
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
414 </directive>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
415
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
416
1125
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
417 <directive name="least_conn">
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
418 <syntax/>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
419 <default/>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
420 <context>upstream</context>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
421 <appeared-in>1.3.1</appeared-in>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
422 <appeared-in>1.2.2</appeared-in>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
423
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
424 <para>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
425 Задаёт для группы метод балансировки нагрузки, при котором запрос
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
426 передаётся серверу с наименьшим числом активных соединений,
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
427 с учётом весов серверов.
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
428 Если подходит сразу несколько серверов, они выбираются циклически
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
429 (в режиме round-robin) с учётом их весов.
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
430 </para>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
431
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
432 </directive>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
433
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
434
1122
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
435 <directive name="queue">
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
436 <syntax>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
437 <value>число</value>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
438 [<literal>timeout</literal>=<value>время</value>]</syntax>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
439 <default/>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
440 <context>upstream</context>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
441 <appeared-in>1.5.12</appeared-in>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
442
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
443 <para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
444 Если при обработке запроса невозможно сразу выбрать сервер группы
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
445 и в группе есть серверы, у которых число соединений достигло
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
446 ограничения <link id="max_conns"/>,
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
447 запрос будет помещён в очередь.
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
448 Директива задаёт максимальное число запросов, которые могут одновременно
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
449 находиться в очереди.
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
450 Если очередь переполнена
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
451 или за время, задаваемое параметром <literal>timeout</literal>,
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
452 так и не удастся выбрать сервер для передачи ему запроса,
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
453 клиенту будет возвращена ошибка.
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
454 </para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
455
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
456 <para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
457 По умолчанию параметр <literal>timeout</literal> равен 60 секундам.
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
458 </para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
459
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
460 <para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
461 <note>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
462 Эта директива доступна как часть <commercial_version/>.
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
463 </note>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
464 </para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
465
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
466 </directive>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
467
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
468 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
469
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
470
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
471 <section id="variables" name="Встроенные переменные">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
472
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
473 <para>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
474 Модуль <literal>ngx_http_upstream_module</literal>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
475 поддерживает следующие встроенные переменные:
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
476 <list type="tag">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
477
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
478 <tag-name><var>$upstream_addr</var></tag-name>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
479 <tag-desc>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
480 хранит IP-адрес и порт сервера или путь к UNIX-сокету.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
481 Если при обработке запроса были сделаны обращения к нескольким серверам,
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
482 то их адреса разделяются запятой, например,
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
483 “<literal>192.168.1.1:80, 192.168.1.2:80, unix:/tmp/sock</literal>”.
256
c78b2d6fe261 Use another term for "redirect".
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
484 Если произошло внутреннее перенаправление от одной группы серверов на другую
c78b2d6fe261 Use another term for "redirect".
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
485 с помощью
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
486 <header>X-Accel-Redirect</header> или
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
487 <link doc="ngx_http_core_module.xml" id="error_page"/>,
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
488 то адреса, соответствующие разным группам серверов, разделяются двоеточием,
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
489 например,
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
490 “<literal>192.168.1.1:80, 192.168.1.2:80, unix:/tmp/sock : 192.168.10.1:80, 192.168.10.2:80</literal>”.
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
491 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
492
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
493 <tag-name><var>$upstream_cache_status</var></tag-name>
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
494 <tag-desc>
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
495 хранит статус доступа к кэшу ответов (0.8.3).
1075
6c021feec587 Removed unjustified non-breakable spaces.
Ruslan Ermilov <ru@nginx.com>
parents: 1016
diff changeset
496 Статус может быть одним из “<literal>MISS</literal>”,
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
497 “<literal>BYPASS</literal>”, “<literal>EXPIRED</literal>”,
1016
2d8269d8fea8 Translated documentation on cache revalidation into russian.
Vladimir Homutov <vl@nginx.com>
parents: 966
diff changeset
498 “<literal>STALE</literal>”, “<literal>UPDATING</literal>”,
2d8269d8fea8 Translated documentation on cache revalidation into russian.
Vladimir Homutov <vl@nginx.com>
parents: 966
diff changeset
499 “<literal>REVALIDATED</literal>” или “<literal>HIT</literal>”.
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
500 </tag-desc>
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
501
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
502 <tag-name><var>$upstream_response_length</var></tag-name>
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
503 <tag-desc>
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
504 хранит длины ответов, полученных от серверов группы (0.7.27);
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
505 длины хранятся в байтах.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
506 Длины нескольких ответов разделяются запятыми и двоеточиями
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
507 подобно адресам в переменной <var>$upstream_addr</var>.
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
508 </tag-desc>
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
509
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
510 <tag-name><var>$upstream_response_time</var></tag-name>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
511 <tag-desc>
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
512 хранит времена ответов, полученных от серверов группы;
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
513 времена хранятся в секундах с точностью до миллисекунд.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
514 Времена нескольких ответов разделяются запятыми и двоеточиями
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
515 подобно адресам в переменной <var>$upstream_addr</var>.
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
516 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
517
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
518 <tag-name><var>$upstream_status</var></tag-name>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
519 <tag-desc>
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
520 хранит коды ответов, полученных от серверов группы.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
521 Коды нескольких ответов разделяются запятыми и двоеточиями
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
522 подобно адресам в переменной <var>$upstream_addr</var>.
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
523 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
524
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
525 <tag-name><var>$upstream_http_...</var></tag-name>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
526 <tag-desc>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
527 хранят поля заголовка ответа сервера.
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
528 Например, поле заголовка ответа <header>Server</header>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
529 доступно в переменной <var>$upstream_http_server</var>.
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
530 Правила преобразования имён полей заголовка ответа в имена переменных
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
531 такие же, как для переменных с префиксом
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
532 “<link doc="ngx_http_core_module.xml" id="variables">$http_</link>”.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
533 Необходимо иметь в виду, что запоминаются поля заголовка только из ответа
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
534 последнего сервера.
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
535 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
536
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
537 </list>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
538 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
539
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
540 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
541
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
542 </module>