annotate xml/ru/docs/http/ngx_http_upstream_module.xml @ 1241:2246339a6a93

Upstream: added IDs for "server" and "health_check" params.
author Yaroslav Zhuravlev <yar@nginx.com>
date Wed, 02 Jul 2014 21:19:50 +0400
parents 019f8273ee24
children 935fe5eb82c4
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"
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
13 rev="6">
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"/>,
1181
b8f0362f61e5 Added links to scgi.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
22 <link doc="ngx_http_fastcgi_module.xml" id="fastcgi_pass"/>,
1194
9264fdb6c833 Added links to uwsgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1186
diff changeset
23 <link doc="ngx_http_uwsgi_module.xml" id="uwsgi_pass"/>,
1181
b8f0362f61e5 Added links to scgi.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
24 <link doc="ngx_http_scgi_module.xml" id="scgi_pass"/> и
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
25 <link doc="ngx_http_memcached_module.xml" id="memcached_pass"/>.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26 </para>
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 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
31 <section id="example" name="Пример конфигурации">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34 <example>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
35 upstream <emphasis>backend</emphasis> {
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
36 server backend1.example.com weight=5;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
37 server backend2.example.com:8080;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
38 server unix:/tmp/backend3;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
40 server backup1.example.com:8080 backup;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
41 server backup2.example.com:8080 backup;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44 server {
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45 location / {
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
46 proxy_pass http://<emphasis>backend</emphasis>;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
49 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
50 </para>
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 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
53
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
55 <section id="directives" name="Директивы">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
57 <directive name="upstream">
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
58 <syntax block="yes"><value>название</value></syntax>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
59 <default/>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
60 <context>http</context>
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 <para>
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 Серверы могут слушать на разных портах.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
65 Кроме того, можно одновременно использовать серверы,
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
66 слушающие на TCP- и UNIX-сокетах.
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 <para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
70 Пример:
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
71 <example>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
72 upstream backend {
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
73 server backend1.example.com weight=5;
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
74 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
75 server unix:/tmp/backend3;
1126
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
76
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
77 server backup1.example.com backup;
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
78 }
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
79 </example>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
80 </para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
81
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
82 <para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
83 По умолчанию запросы распределяются по серверам циклически
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
84 (в режиме round-robin) с учётом весов серверов.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
85 В вышеприведённом примере каждые 7 запросов будут распределены так:
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
86 5 запросов на <literal>backend1.example.com</literal>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
87 и по одному запросу на второй и третий серверы.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
88 Если при попытке работы с сервером происходит ошибка, то запрос
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
89 передаётся следующему серверу, и так далее до тех пор, пока не будут опробованы
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
90 все работающие серверы.
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 ни от одного из серверов, то клиенту будет возвращён результат работы
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 </para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
95
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
96 </directive>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
97
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
98
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
99 <directive name="server">
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
100 <syntax><value>адрес</value> [<value>параметры</value>]</syntax>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
101 <default/>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
102 <context>upstream</context>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
103
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
104 <para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
105 Задаёт <value>адрес</value> и другие <value>параметры</value>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
106 сервера.
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 и необязательного порта, или в виде пути UNIX-сокета, который
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
109 указывается после префикса “<literal>unix:</literal>”.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
110 Если порт не указан, используется порт 80.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
111 Доменное имя, которому соответствует несколько IP-адресов,
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 </para>
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 <para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
116 Могут быть заданы следующие параметры:
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
117 <list type="tag">
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
118
1241
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
119 <tag-name id="weight">
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
120 <literal>weight</literal>=<value>число</value>
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
121 </tag-name>
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
122 <tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
123 задаёт вес сервера, по умолчанию 1.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
124 </tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
125
1241
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
126 <tag-name id="max_fails">
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
127 <literal>max_fails</literal>=<value>число</value>
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
128 </tag-name>
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
129 <tag-desc>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
130 задаёт число неудачных попыток работы с сервером, которые должны произойти
1240
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
131 в течение времени, заданного параметром <literal>fail_timeout</literal>,
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
132 чтобы сервер считался недоступным на период времени, также заданный
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
133 параметром <literal>fail_timeout</literal>.
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
134 По умолчанию число попыток устанавливается равным 1.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
135 Нулевое значение отключает учёт попыток.
942
ba3d6ade3513 Elaborate on upstream server failures.
Ruslan Ermilov <ru@nginx.com>
parents: 917
diff changeset
136 Что считается неудачной попыткой, определяется директивами
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
137 <link doc="ngx_http_proxy_module.xml" id="proxy_next_upstream"/>,
1181
b8f0362f61e5 Added links to scgi.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
138 <link doc="ngx_http_fastcgi_module.xml" id="fastcgi_next_upstream"/>,
1194
9264fdb6c833 Added links to uwsgi.
Ruslan Ermilov <ru@nginx.com>
parents: 1186
diff changeset
139 <link doc="ngx_http_uwsgi_module.xml" id="uwsgi_next_upstream"/>,
1181
b8f0362f61e5 Added links to scgi.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1155
diff changeset
140 <link doc="ngx_http_scgi_module.xml" id="scgi_next_upstream"/> и
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
141 <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
142 </tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
143
1241
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
144 <tag-name id="fail_timeout">
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
145 <literal>fail_timeout</literal>=<value>время</value>
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
146 </tag-name>
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
147 <tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
148 задаёт
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
149 <list type="bullet">
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
150
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
151 <listitem>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
152 время, в течение которого должно произойти заданное число неудачных
1240
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
153 попыток работы с сервером для того, чтобы сервер считался недоступным;
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
154 </listitem>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
155
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
156 <listitem>
1240
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
157 и время, в течение которого сервер будет считаться недоступным.
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
158 </listitem>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
159
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
160 </list>
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
161 По умолчанию параметр равен 10 секундам.
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
162 </tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
163
1241
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
164 <tag-name id="backup">
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
165 <literal>backup</literal>
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
166 </tag-name>
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
167 <tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
168 помечает сервер как запасной сервер.
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-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
171
1241
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
172 <tag-name id="down">
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
173 <literal>down</literal>
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
174 </tag-name>
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
175 <tag-desc>
1240
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
176 помечает сервер как постоянно недоступный; используется
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
177 совместно с директивой <link id="ip_hash"/>.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
178 </tag-desc>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
179
1126
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
180 </list>
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
181 </para>
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
182
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
183 <para>
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
184 Кроме того,
1128
1594ed379f1f De-i18n'ed <commercial_version/>.
Ruslan Ermilov <ru@nginx.com>
parents: 1127
diff changeset
185 следующие параметры доступны как часть
1594ed379f1f De-i18n'ed <commercial_version/>.
Ruslan Ermilov <ru@nginx.com>
parents: 1127
diff changeset
186 <commercial_version>коммерческой подписки</commercial_version>:
1126
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
187 <list type="tag">
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
188
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
189 <tag-name id="max_conns">
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
190 <literal>max_conns</literal>=<value>число</value>
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
191 </tag-name>
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
192 <tag-desc>
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
193 ограничивает максимальное <value>число</value> одновременных соединений
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
194 к проксируемому серверу (1.5.9).
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
195 Значение по умолчанию равно 0 и означает, что ограничения нет.
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
196 </tag-desc>
2e28d1c4a0a2 Upstream: revised layout of the "server" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1125
diff changeset
197
1124
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
198 <tag-name id="resolve">
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
199 <literal>resolve</literal>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
200 </tag-name>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
201 <tag-desc>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
202 отслеживает изменения IP-адресов, соответствующих доменному имени сервера,
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
203 и автоматически изменяет конфигурацию группы
1127
948c853f5d22 Upstream: improved "server resolve".
Ruslan Ermilov <ru@nginx.com>
parents: 1126
diff changeset
204 без необходимости перезапуска nginx (1.5.12).
1124
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
205 <para>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
206 Для работы этого параметра
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
207 директива <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
208 должна быть задана в блоке
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
209 <link doc="ngx_http_core_module.xml" id="http"/>.
1127
948c853f5d22 Upstream: improved "server resolve".
Ruslan Ermilov <ru@nginx.com>
parents: 1126
diff changeset
210 Пример:
1124
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
211 <example>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
212 http {
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
213 resolver 10.0.0.1;
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
214
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
215 upstream u {
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
216 zone ...;
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
217 ...
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
218 server example.com resolve;
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
219 }
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
220 }
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
221 </example>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
222 </para>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
223 </tag-desc>
d790333947f4 Upstream: the "resolve" parameter of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1123
diff changeset
224
1241
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
225 <tag-name id="route">
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
226 <literal>route</literal>=<value>строка</value>
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
227 </tag-name>
1240
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
228 <tag-desc>
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
229 задаёт имя маршрута к серверу.
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
230 </tag-desc>
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
231
1241
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
232 <tag-name id="slow_start">
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
233 <literal>slow_start</literal>=<value>время</value>
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
234 </tag-name>
1240
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
235 <tag-desc>
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
236 задаёт <value>время</value>, в течение которого вес сервера
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
237 восстановится от нуля до своего номинального значения в ситуации, когда
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
238 неработоспособный (unhealthy) сервер вновь становится работоспособным
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
239 (<link id="health_check">healthy</link>)
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
240 или когда сервер становится доступным по прошествии времени,
1241
2246339a6a93 Upstream: added IDs for "server" and "health_check" params.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1240
diff changeset
241 в течение которого он считался <link id="fail_timeout">недоступным</link>.
1240
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
242 Значение по умолчанию равно нулю и означает, что медленный старт выключен.
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
243 </tag-desc>
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
244
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
245 </list>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
246 </para>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
247
1240
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
248 <para>
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
249 <note>
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
250 Если в группе только один сервер, параметры <literal>max_fails</literal>,
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
251 <literal>fail_timeout</literal> и <literal>slow_start</literal>
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
252 игнорируются и такой сервер никогда не будет считаться недоступным.
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
253 </note>
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
254 </para>
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
255
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
256 </directive>
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
257
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
258
1123
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
259 <directive name="zone">
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
260 <syntax><value>имя</value> <value>размер</value></syntax>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
261 <default/>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
262 <context>upstream</context>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
263
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
264 <para>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
265 Задаёт <value>имя</value> и <value>размер</value> зоны разделяемой памяти,
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
266 в которой хранятся конфигурация группы и рабочее состояние,
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
267 разделяемые между рабочими процессами.
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
268 В таких группах возможно изменение состава группы или
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
269 настроек отдельных серверов без необходимости перезапуска nginx.
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
270 Конфигурация доступна через специальный location,
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
271 для которого указана директива <link id="upstream_conf"/>.
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
272 </para>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
273
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
274 <para>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
275 <note>
1128
1594ed379f1f De-i18n'ed <commercial_version/>.
Ruslan Ermilov <ru@nginx.com>
parents: 1127
diff changeset
276 Эта директива доступна как часть
1594ed379f1f De-i18n'ed <commercial_version/>.
Ruslan Ermilov <ru@nginx.com>
parents: 1127
diff changeset
277 <commercial_version>коммерческой подписки</commercial_version>.
1123
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
278 </note>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
279 </para>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
280
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
281 </directive>
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
282
9a9aa8e9d12c Rephrased the "zone" directive, translated into Russian.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1122
diff changeset
283
1230
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
284 <directive name="hash">
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
285 <syntax><value>ключ</value> [<literal>consistent</literal>]</syntax>
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
286 <default/>
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
287 <context>upstream</context>
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
288 <appeared-in>1.7.2</appeared-in>
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
289
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
290 <para>
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
291 Задаёт метод балансировки нагрузки для группы, при котором
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
292 соответствие клиента серверу определяется при помощи
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
293 хэшированного значения <value>ключа</value>.
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
294 В качестве <value>ключа</value> может использоваться
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
295 текст, переменные и их комбинации.
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
296 Следует отметить, что любое добавление или удаление серверов в группе
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
297 может привести к перераспределению большинства ключей на другие серверы.
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
298 Метод совместим с библиотекой Perl
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
299 <link url="http://search.cpan.org/perldoc?Cache%3A%3AMemcached">Cache::Memcached</link>.
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
300 </para>
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
301
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
302 <para>
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
303 Если задан параметр <literal>consistent</literal>, то вместо
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
304 вышеописанного метода будет использоваться метод консистентного хэширования
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
305 <link url="http://www.last.fm/user/RJ/journal/2007/04/10/392555/">ketama</link>.
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
306 Метод гарантирует, что при добавлении сервера в группу или его удалении
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
307 на другие серверы будет перераспределено минимальное число ключей.
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
308 Применение метода для кэширующих серверов обеспечивает
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
309 больший процент попаданий в кэш.
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
310 Метод совместим с библиотекой Perl
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
311 <link url="http://search.cpan.org/perldoc?Cache%3A%3AMemcached%3A%3AFast">Cache::Memcached::Fast</link>
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
312 при значении параметра <value>ketama_points</value> равным 160.
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
313 </para>
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
314
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
315 </directive>
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
316
6cc809881694 Upstream: added the "hash" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1194
diff changeset
317
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
318 <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
319 <syntax/>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 79
diff changeset
320 <default/>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
321 <context>upstream</context>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
322
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
323 <para>
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
324 Задаёт для группы метод балансировки нагрузки, при котором запросы
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
325 распределяются по серверам на основе IP-адресов клиентов.
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
326 В качестве ключа для хэширования используются первые три
542
a9e6a8613534 Documented IPv6 support in ip_hash.
Ruslan Ermilov <ru@nginx.com>
parents: 533
diff changeset
327 октета IPv4-адреса клиента или IPv6-адрес клиента целиком.
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
328 Метод гарантирует, что запросы одного и того же клиента
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
329 будут всегда передаваться на один и тот же сервер.
1240
019f8273ee24 Upstream: translated the missing parts of the "server" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1238
diff changeset
330 Если же этот сервер будет считаться недоступным,
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
331 то запросы этого клиента будут передаваться на другой сервер.
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
332 С большой долей вероятности это также будет один и тот же сервер.
542
a9e6a8613534 Documented IPv6 support in ip_hash.
Ruslan Ermilov <ru@nginx.com>
parents: 533
diff changeset
333 <note>
566
f8148fc88224 Documented 1.2.2 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 542
diff changeset
334 IPv6-адреса поддерживаются начиная с версий 1.3.2 и 1.2.2.
542
a9e6a8613534 Documented IPv6 support in ip_hash.
Ruslan Ermilov <ru@nginx.com>
parents: 533
diff changeset
335 </note>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
336 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
337
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
338 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
339 Если один из серверов нужно убрать на некоторое время, то для сохранения
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
340 текущего хэширования IP-адресов клиентов этот сервер нужно пометить
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
341 параметром <literal>down</literal>.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
342 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
343
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
344 <para>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
345 Пример:
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
346 <example>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
347 upstream backend {
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
348 ip_hash;
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
349
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
350 server backend1.example.com;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
351 server backend2.example.com;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
352 server backend3.example.com <emphasis>down</emphasis>;
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
353 server backend4.example.com;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
354 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
355 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
356 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
357
526
4f907cde0382 1.3.1 changes: ip_hash+weight, least_conn.
Ruslan Ermilov <ru@nginx.com>
parents: 367
diff changeset
358 <para>
4f907cde0382 1.3.1 changes: ip_hash+weight, least_conn.
Ruslan Ermilov <ru@nginx.com>
parents: 367
diff changeset
359 <note>
566
f8148fc88224 Documented 1.2.2 changes.
Ruslan Ermilov <ru@nginx.com>
parents: 542
diff changeset
360 До версий 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
361 <literal>ip_hash</literal>, нельзя было задать вес.
4f907cde0382 1.3.1 changes: ip_hash+weight, least_conn.
Ruslan Ermilov <ru@nginx.com>
parents: 367
diff changeset
362 </note>
4f907cde0382 1.3.1 changes: ip_hash+weight, least_conn.
Ruslan Ermilov <ru@nginx.com>
parents: 367
diff changeset
363 </para>
4f907cde0382 1.3.1 changes: ip_hash+weight, least_conn.
Ruslan Ermilov <ru@nginx.com>
parents: 367
diff changeset
364
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
365 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
366
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
367
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
368 <directive name="keepalive">
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
369 <syntax><value>соединения</value></syntax>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
370 <default/>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
371 <context>upstream</context>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
372 <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
373
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
374 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
375 Задействует кэш соединений для группы серверов.
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
376 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
377
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
378 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
379 Параметр <value>соединения</value> устанавливает максимальное число
654
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
380 неактивных постоянных соединений с серверами группы, которые будут
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
381 сохраняться в кэше каждого рабочего процесса.
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
382 При превышении этого числа наиболее давно не используемые соединения
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
383 закрываются.
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
384 <note>
654
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
385 Следует особо отметить, что директива <literal>keepalive</literal>
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
386 не ограничивает общее число соединений с серверами группы, которые
841118e33f41 Refined the text about cache of connections to upstream servers.
Ruslan Ermilov <ru@nginx.com>
parents: 589
diff changeset
387 рабочие процессы nginx могут открыть.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
388 Параметр <value>соединения</value> следует устанавливать достаточно
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
389 консервативно, чтобы серверы группы по-прежнему могли обрабатывать
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
390 новые входящие соединения.
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
391 </note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
392 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
393
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
394 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
395 Пример конфигурации группы серверов memcached с постоянными соединениями:
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
396 <example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
397 upstream memcached_backend {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
398 server 127.0.0.1:11211;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
399 server 10.0.0.2:11211;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
400
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
401 keepalive 32;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
402 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
403
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
404 server {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
405 ...
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
406
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
407 location /memcached/ {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
408 set $memcached_key $uri;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
409 memcached_pass memcached_backend;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
410 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
411
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
412 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
413 </example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
414 </para>
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 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
417 Для HTTP директиву
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
418 <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
419 следует установить в “<literal>1.1</literal>”,
367
f4033b9bc4ec - Removed unnecessary instances of unbreakable space.
Ruslan Ermilov <ru@nginx.com>
parents: 325
diff changeset
420 а поле заголовка <header>Connection</header> — очистить:
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
421 <example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
422 upstream http_backend {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
423 server 127.0.0.1:8080;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
424
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
425 keepalive 16;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
426 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
427
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
428 server {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
429 ...
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
430
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
431 location /http/ {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
432 proxy_pass http://http_backend;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
433 proxy_http_version 1.1;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
434 proxy_set_header Connection "";
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
435 ...
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
436 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
437 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
438 </example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
439 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
440
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
441 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
442 <note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
443 Хоть это и не рекомендуется, но также возможно использование постоянных
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
444 соединений с HTTP/1.0, путём передачи поля заголовка
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
445 <header>Connection: Keep-Alive</header> серверу группы.
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
446 </note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
447 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
448
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
449 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
450 Для работы постоянных соединений с FastCGI-серверами потребуется
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
451 включить директиву
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
452 <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
453 <example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
454 upstream fastcgi_backend {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
455 server 127.0.0.1:9000;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
456
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
457 keepalive 8;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
458 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
459
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
460 server {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
461 ...
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
462
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
463 location /fastcgi/ {
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
464 fastcgi_pass fastcgi_backend;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
465 fastcgi_keep_conn on;
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
466 ...
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
467 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
468 }
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
469 </example>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
470 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
471
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
472 <para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
473 <note>
533
fb630c3c5039 Revamped the upstream documentation somewhat.
Ruslan Ermilov <ru@nginx.com>
parents: 526
diff changeset
474 При использовании методов балансировки нагрузки, отличных
316
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
475 от стандартного round-robin, следует активировать их до
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
476 директивы <literal>keepalive</literal>.
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
477 </note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
478
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
479 <note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
480 Протоколы SCGI и uwsgi не определяют семантику постоянных соединений.
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
481 </note>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
482 </para>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
483
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
484 </directive>
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
485
1fb1c077658b Documented the following directives: "keepalive", "proxy_http_version",
Ruslan Ermilov <ru@nginx.com>
parents: 292
diff changeset
486
1125
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
487 <directive name="least_conn">
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
488 <syntax/>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
489 <default/>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
490 <context>upstream</context>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
491 <appeared-in>1.3.1</appeared-in>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
492 <appeared-in>1.2.2</appeared-in>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
493
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
494 <para>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
495 Задаёт для группы метод балансировки нагрузки, при котором запрос
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
496 передаётся серверу с наименьшим числом активных соединений,
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
497 с учётом весов серверов.
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
498 Если подходит сразу несколько серверов, они выбираются циклически
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
499 (в режиме round-robin) с учётом их весов.
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
500 </para>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
501
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
502 </directive>
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
503
9a95b9026a16 Upstream: reallocated the "queue" directive.
Ruslan Ermilov <ru@nginx.com>
parents: 1124
diff changeset
504
1122
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
505 <directive name="queue">
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
506 <syntax>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
507 <value>число</value>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
508 [<literal>timeout</literal>=<value>время</value>]</syntax>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
509 <default/>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
510 <context>upstream</context>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
511 <appeared-in>1.5.12</appeared-in>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
512
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
513 <para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
514 Если при обработке запроса невозможно сразу выбрать сервер группы
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
515 и в группе есть серверы, у которых число соединений достигло
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
516 ограничения <link id="max_conns"/>,
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
517 запрос будет помещён в очередь.
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
518 Директива задаёт максимальное число запросов, которые могут одновременно
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
519 находиться в очереди.
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
520 Если очередь переполнена
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
521 или за время, задаваемое параметром <literal>timeout</literal>,
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
522 так и не удастся выбрать сервер для передачи ему запроса,
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
523 клиенту будет возвращена ошибка.
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
524 </para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
525
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
526 <para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
527 По умолчанию параметр <literal>timeout</literal> равен 60 секундам.
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
528 </para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
529
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
530 <para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
531 <note>
1128
1594ed379f1f De-i18n'ed <commercial_version/>.
Ruslan Ermilov <ru@nginx.com>
parents: 1127
diff changeset
532 Эта директива доступна как часть
1594ed379f1f De-i18n'ed <commercial_version/>.
Ruslan Ermilov <ru@nginx.com>
parents: 1127
diff changeset
533 <commercial_version>коммерческой подписки</commercial_version>.
1122
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
534 </note>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
535 </para>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
536
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
537 </directive>
594093ef96b1 Upstream: documented the "queue" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1121
diff changeset
538
1234
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
539
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
540 <directive name="sticky">
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
541 <syntax><literal>cookie</literal> <value>имя</value>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
542 [<literal>expires=</literal><value>время</value>]
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
543 [<literal>domain=</literal><value>домен</value>]
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
544 [<literal>path=</literal><value>путь</value>]</syntax>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
545 <syntax><literal>route</literal> <value>переменная</value> ...</syntax>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
546 <default/>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
547 <context>upstream</context>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
548 <appeared-in>1.5.7</appeared-in>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
549
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
550 <para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
551 Включает режим привязки сеансов, в котором запросы клиента
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
552 будут передаваться на один и тот же сервер группы.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
553 Доступны два метода:
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
554 <literal>cookie</literal> и <literal>route</literal>.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
555 </para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
556
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
557 <para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
558 При использовании метода <literal>cookie</literal> информация о
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
559 назначенном сервере передаётся в HTTP-куке:
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
560 <example>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
561 upstream backend {
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
562 server backend1.example.com;
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
563 server backend2.example.com;
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
564
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
565 sticky cookie srv_id expires=1h domain=.example.com path=/;
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
566 }
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
567 </example>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
568 </para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
569
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
570 <para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
571 Запрос от клиента, ещё не привязанного к определённому серверу,
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
572 передаётся на сервер, выбранный согласно настроенному методу балансировки.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
573 Дальнейшие запросы от этого клиента передаются на тот же сервер.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
574 Если назначенный сервер не может обработать запрос, выбирается новый
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
575 сервер как если бы клиент не имел привязки к серверу.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
576 </para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
577
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
578 <para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
579 Первый параметр задаёт имя куки, которую необходимо установить или проверить.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
580 Дополнительные параметры могут быть следующими:
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
581 <list type="tag">
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
582
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
583 <tag-name><literal>expires</literal></tag-name>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
584 <tag-desc>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
585 Задаёт время, в течение которого браузеру необходимо хранить куку.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
586 Специальное значение <literal>max</literal> устанавливает срок хранения куки до
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
587 31 декабря 2037 года 23:55:55 GMT.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
588 Если параметр не указан, то время действия куки ограничивается сессией браузера.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
589 </tag-desc>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
590
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
591 <tag-name><literal>domain</literal></tag-name>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
592 <tag-desc>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
593 Задаёт домен, для которого устанавливается кука.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
594 </tag-desc>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
595
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
596 <tag-name><literal>path</literal></tag-name>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
597 <tag-desc>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
598 Задаёт путь, для которого устанавливается кука.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
599 </tag-desc>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
600
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
601 </list>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
602 Если пропущен тот или иной параметр, то соответствующего поля в куке не будет.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
603 </para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
604
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
605 <para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
606 При использовании метода <literal>route</literal> проксируемый сервер назначает
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
607 клиенту маршрут по получении первого запроса.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
608 Все последующие запросы от этого клиента будут содержать информацию о
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
609 маршруте в куке или URI.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
610 Эта информация сравнивается с параметром “<literal>route</literal>” директивы
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
611 <link id="server"/> для идентификации сервера, на который
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
612 следует проксировать запрос.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
613 Если назначенный сервер не может обработать запрос, выбирается новый сервер
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
614 согласно настроенному методу балансировки как если бы в запросе не было
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
615 информации о маршруте.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
616 </para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
617
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
618 <para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
619 Параметры метода <literal>route</literal> задают переменные, которые
1238
763db729e6a4 Upstream: corrected translation in sticky route.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1237
diff changeset
620 могут содержать информацию о маршруте.
1234
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
621 Первая непустая переменная используется для поиска соответствующего сервера.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
622 </para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
623
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
624 <para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
625 Пример:
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
626 <example>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
627 map $cookie_jsessionid $route_cookie {
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
628 ~.+\.(?P&lt;route>\w+)$ $route;
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
629 }
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
630
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
631 map $request_uri $route_uri {
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
632 ~jsessionid=.+\.(?P&lt;route>\w+)$ $route;
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
633 }
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
634
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
635 upstream backend {
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
636 server backend1.example.com route=a;
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
637 server backend2.example.com route=b;
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
638
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
639 sticky route $route_cookie $route_uri;
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
640 }
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
641 </example>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
642 В этом примере маршрут берётся из куки “<literal>JSESSIONID</literal>”,
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
643 если она присутствует в запросе.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
644 В противном случае используется маршрут из URI.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
645 </para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
646
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
647 <para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
648 <note>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
649 Эта директива доступна как часть
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
650 <commercial_version>коммерческой подписки</commercial_version>.
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
651 </note>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
652 </para>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
653
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
654 </directive>
314801ed88e7 Upstream: translated the "sticky" directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1230
diff changeset
655
1237
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
656
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
657 <directive name="sticky_cookie_insert">
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
658 <syntax><value>имя</value>
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
659 [<literal>expires=</literal><value>время</value>]
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
660 [<literal>domain=</literal><value>домен</value>]
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
661 [<literal>path=</literal><value>путь</value>]</syntax>
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
662 <default/>
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
663 <context>upstream</context>
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
664
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
665 <para>
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
666 Эта директива устарела начиная с версии 1.5.7.
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
667 Вместо неё следует использовать аналогичную директиву
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
668 <link id="sticky"/> с изменённым синтаксисом:
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
669 <note>
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
670 <literal>sticky cookie</literal> <value>имя</value>
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
671 [<literal>expires=</literal><value>время</value>]
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
672 [<literal>domain=</literal><value>домен</value>]
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
673 [<literal>path=</literal><value>путь</value>];
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
674 </note>
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
675 </para>
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
676
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
677 </directive>
e0a1a929a458 Upstream: translated the sticky_cookie_insert directive.
Yaroslav Zhuravlev <yar@nginx.com>
parents: 1234
diff changeset
678
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
679 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
680
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
681
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
682 <section id="variables" name="Встроенные переменные">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
683
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
684 <para>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
685 Модуль <literal>ngx_http_upstream_module</literal>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
686 поддерживает следующие встроенные переменные:
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
687 <list type="tag">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
688
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
689 <tag-name id="var_upstream_addr"><var>$upstream_addr</var></tag-name>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
690 <tag-desc>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
691 хранит IP-адрес и порт сервера или путь к UNIX-сокету.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
692 Если при обработке запроса были сделаны обращения к нескольким серверам,
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
693 то их адреса разделяются запятой, например,
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
694 “<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
695 Если произошло внутреннее перенаправление от одной группы серверов на другую
c78b2d6fe261 Use another term for "redirect".
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
696 с помощью
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
697 <header>X-Accel-Redirect</header> или
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
698 <link doc="ngx_http_core_module.xml" id="error_page"/>,
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
699 то адреса, соответствующие разным группам серверов, разделяются двоеточием,
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
700 например,
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
701 “<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
702 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
703
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
704 <tag-name id="var_upstream_cache_status"><var>$upstream_cache_status</var>
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
705 </tag-name>
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
706 <tag-desc>
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
707 хранит статус доступа к кэшу ответов (0.8.3).
1075
6c021feec587 Removed unjustified non-breakable spaces.
Ruslan Ermilov <ru@nginx.com>
parents: 1016
diff changeset
708 Статус может быть одним из “<literal>MISS</literal>”,
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
709 “<literal>BYPASS</literal>”, “<literal>EXPIRED</literal>”,
1016
2d8269d8fea8 Translated documentation on cache revalidation into russian.
Vladimir Homutov <vl@nginx.com>
parents: 966
diff changeset
710 “<literal>STALE</literal>”, “<literal>UPDATING</literal>”,
2d8269d8fea8 Translated documentation on cache revalidation into russian.
Vladimir Homutov <vl@nginx.com>
parents: 966
diff changeset
711 “<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
712 </tag-desc>
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
713
1186
8125bec5c7a1 Upstream: documented the $upstream_cookie_* variables.
Ruslan Ermilov <ru@nginx.com>
parents: 1181
diff changeset
714 <tag-name id="var_upstream_cookie_"><var>$upstream_cookie_</var><value>имя</value></tag-name>
8125bec5c7a1 Upstream: documented the $upstream_cookie_* variables.
Ruslan Ermilov <ru@nginx.com>
parents: 1181
diff changeset
715 <tag-desc>
8125bec5c7a1 Upstream: documented the $upstream_cookie_* variables.
Ruslan Ermilov <ru@nginx.com>
parents: 1181
diff changeset
716 кука с указанным <value>именем</value>, переданная сервером группы
8125bec5c7a1 Upstream: documented the $upstream_cookie_* variables.
Ruslan Ermilov <ru@nginx.com>
parents: 1181
diff changeset
717 в поле <header>Set-Cookie</header> заголовка ответа (1.7.1).
8125bec5c7a1 Upstream: documented the $upstream_cookie_* variables.
Ruslan Ermilov <ru@nginx.com>
parents: 1181
diff changeset
718 Необходимо иметь в виду, что запоминаются поля заголовка только из ответа
8125bec5c7a1 Upstream: documented the $upstream_cookie_* variables.
Ruslan Ermilov <ru@nginx.com>
parents: 1181
diff changeset
719 последнего сервера.
8125bec5c7a1 Upstream: documented the $upstream_cookie_* variables.
Ruslan Ermilov <ru@nginx.com>
parents: 1181
diff changeset
720 </tag-desc>
8125bec5c7a1 Upstream: documented the $upstream_cookie_* variables.
Ruslan Ermilov <ru@nginx.com>
parents: 1181
diff changeset
721
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
722 <tag-name id="var_upstream_response_length"><var>$upstream_response_length</var>
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
723 </tag-name>
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
724 <tag-desc>
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
725 хранит длины ответов, полученных от серверов группы (0.7.27);
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
726 длины хранятся в байтах.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
727 Длины нескольких ответов разделяются запятыми и двоеточиями
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
728 подобно адресам в переменной <var>$upstream_addr</var>.
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
729 </tag-desc>
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
730
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
731 <tag-name id="var_upstream_response_time"><var>$upstream_response_time</var>
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
732 </tag-name>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
733 <tag-desc>
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
734 хранит времена ответов, полученных от серверов группы;
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
735 времена хранятся в секундах с точностью до миллисекунд.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
736 Времена нескольких ответов разделяются запятыми и двоеточиями
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
737 подобно адресам в переменной <var>$upstream_addr</var>.
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
738 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
739
1155
07402a11fd8d Assigned IDs to tags describing variables.
Vladimir Homutov <vl@nginx.com>
parents: 1128
diff changeset
740 <tag-name id="var_upstream_status"><var>$upstream_status</var></tag-name>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
741 <tag-desc>
731
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
742 хранит коды ответов, полученных от серверов группы.
966
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
743 Коды нескольких ответов разделяются запятыми и двоеточиями
95c3c3bbf1ce Text review.
Egor Nikitin <yegor.nikitin@gmail.com>
parents: 942
diff changeset
744 подобно адресам в переменной <var>$upstream_addr</var>.
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
745 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
746
1186
8125bec5c7a1 Upstream: documented the $upstream_cookie_* variables.
Ruslan Ermilov <ru@nginx.com>
parents: 1181
diff changeset
747 <tag-name id="var_upstream_http_"><var>$upstream_http_</var><value>имя</value></tag-name>
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
748 <tag-desc>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
749 хранят поля заголовка ответа сервера.
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
750 Например, поле заголовка ответа <header>Server</header>
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
751 доступно в переменной <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
752 Правила преобразования имён полей заголовка ответа в имена переменных
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
753 такие же, как для переменных с префиксом
f62328124e5b Documented $upstream_cache_status and $upstream_response_length variables.
Vladimir Homutov <vl@nginx.com>
parents: 654
diff changeset
754 “<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
755 Необходимо иметь в виду, что запоминаются поля заголовка только из ответа
292
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
756 последнего сервера.
7bc830cc79bb Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 280
diff changeset
757 </tag-desc>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
758
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
759 </list>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
760 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
761
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
762 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
763
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
764 </module>