Mercurial > hg > nginx-site
comparison xml/ru/docs/stream/ngx_stream_map_module.xml @ 1743:3d686cb47c2c
Documented the map module in stream.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Tue, 05 Jul 2016 17:58:34 +0300 |
parents | xml/ru/docs/http/ngx_http_map_module.xml@8aa362a99f7c |
children | c6b5826b64f7 |
comparison
equal
deleted
inserted
replaced
1742:c511b73da3a9 | 1743:3d686cb47c2c |
---|---|
1 <?xml version="1.0"?> | |
2 | |
3 <!-- | |
4 Copyright (C) Igor Sysoev | |
5 Copyright (C) Nginx, Inc. | |
6 --> | |
7 | |
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> | |
9 | |
10 <module name="Модуль ngx_stream_map_module" | |
11 link="/ru/docs/stream/ngx_stream_map_module.html" | |
12 lang="ru" | |
13 rev="1"> | |
14 | |
15 <section id="summary"> | |
16 | |
17 <para> | |
18 Модуль <literal>ngx_stream_map_module</literal> (1.11.2) создаёт переменные, | |
19 значения которых зависят от значений других переменных. | |
20 </para> | |
21 | |
22 </section> | |
23 | |
24 | |
25 <section id="example" name="Пример конфигурации"> | |
26 | |
27 <para> | |
28 <example> | |
29 map $remote_addr $limit { | |
30 127.0.0.1 ""; | |
31 default $binary_remote_addr; | |
32 } | |
33 | |
34 limit_conn_zone $limit zone=addr:10m; | |
35 limit_conn addr 1; | |
36 </example> | |
37 </para> | |
38 | |
39 </section> | |
40 | |
41 | |
42 <section id="directives" name="Директивы"> | |
43 | |
44 <directive name="map"> | |
45 <syntax block="yes"> | |
46 <value>строка</value> | |
47 <value>$переменная</value></syntax> | |
48 <default/> | |
49 <context>stream</context> | |
50 | |
51 <para> | |
52 Создаёт новую переменную, значение которой | |
53 зависит от значений одной или более исходных переменных, | |
54 указанных в первом параметре. | |
55 </para> | |
56 | |
57 <para> | |
58 <note> | |
59 Поскольку переменные вычисляются только в момент использования, | |
60 само по себе наличие даже большого числа объявлений переменных | |
61 “<literal>map</literal>” не влечёт за собой никаких дополнительных | |
62 расходов на обработку соединений. | |
63 </note> | |
64 </para> | |
65 | |
66 <para> | |
67 Параметры внутри блока <literal>map</literal> задают соответствие | |
68 между исходными и результирующими значениями. | |
69 </para> | |
70 | |
71 <para> | |
72 Исходные значения задаются строками или регулярными выражениями. | |
73 </para> | |
74 | |
75 <para> | |
76 Строки проверяются без учёта регистра. | |
77 </para> | |
78 | |
79 <para> | |
80 Перед регулярным выражением ставится символ “<literal>~</literal>”, | |
81 если при сравнении следует учитывать регистр символов, либо символы | |
82 “<literal>~*</literal>”, если регистр символов учитывать не нужно. | |
83 Регулярное выражение может содержать именованные и позиционные выделения, | |
84 которые могут затем использоваться в других директивах совместно с | |
85 результирующей переменной. | |
86 </para> | |
87 | |
88 <para> | |
89 Если исходное значение совпадает с именем одного из специальных параметров, | |
90 описанных ниже, перед ним следует поставить символ “<literal>\</literal>”. | |
91 </para> | |
92 | |
93 <para> | |
94 В качестве результирующего значения можно указать текст, | |
95 переменную и их комбинации. | |
96 </para> | |
97 | |
98 <para> | |
99 Директива также поддерживает три специальных параметра: | |
100 <list type="tag"> | |
101 <tag-name><literal>default</literal> <value>значение</value></tag-name> | |
102 <tag-desc> | |
103 задаёт результирующее значение, если исходное значение не | |
104 совпадает ни с одним из перечисленных. | |
105 Если параметр <literal>default</literal> не указан, результирующим значением | |
106 по умолчанию будет пустая строка. | |
107 </tag-desc> | |
108 | |
109 <tag-name><literal>hostnames</literal></tag-name> | |
110 <tag-desc> | |
111 указывает, что в качестве исходных значений можно | |
112 использовать маску для первой или последней части имени хоста, например, | |
113 <example> | |
114 *.example.com 1; | |
115 example.* 1; | |
116 </example> | |
117 Вместо двух записей | |
118 <example> | |
119 example.com 1; | |
120 *.example.com 1; | |
121 </example> | |
122 можно использовать одну: | |
123 <example> | |
124 .example.com 1; | |
125 </example> | |
126 Этот параметр следует указывать перед списком значений. | |
127 </tag-desc> | |
128 | |
129 <tag-name><literal>include</literal> <value>файл</value></tag-name> | |
130 <tag-desc> | |
131 включает файл со значениями. | |
132 Включений может быть несколько. | |
133 </tag-desc> | |
134 | |
135 </list> | |
136 </para> | |
137 | |
138 <para> | |
139 Если исходному значению соответствует несколько из указанных вариантов, | |
140 например, одновременно подходят и маска, и регулярное выражение, | |
141 будет выбран первый подходящий вариант в следующем порядке приоритета: | |
142 <list type="enum"> | |
143 | |
144 <listitem> | |
145 строковое значение без маски | |
146 </listitem> | |
147 | |
148 <listitem> | |
149 самое длинное строковое значение с маской в начале, | |
150 например “<literal>*.example.com</literal>” | |
151 </listitem> | |
152 | |
153 <listitem> | |
154 самое длинное строковое значение с маской в конце, | |
155 например “<literal>mail.*</literal>” | |
156 </listitem> | |
157 | |
158 <listitem> | |
159 первое подходящее регулярное выражение | |
160 (в порядке следования в конфигурационном файле) | |
161 </listitem> | |
162 | |
163 <listitem> | |
164 значение по умолчанию (<literal>default</literal>) | |
165 </listitem> | |
166 | |
167 </list> | |
168 </para> | |
169 | |
170 </directive> | |
171 | |
172 | |
173 <directive name="map_hash_bucket_size"> | |
174 <syntax><value>размер</value></syntax> | |
175 <default>32|64|128</default> | |
176 <context>stream</context> | |
177 | |
178 <para> | |
179 Задаёт размер корзины в хэш-таблицах для переменных <link id="map"/>. | |
180 Значение по умолчанию зависит от размера строки кэша процессора. | |
181 Подробнее настройка хэш-таблиц обсуждается в отдельном | |
182 <link doc="../hash.xml">документе</link>. | |
183 </para> | |
184 | |
185 </directive> | |
186 | |
187 | |
188 <directive name="map_hash_max_size"> | |
189 <syntax><value>размер</value></syntax> | |
190 <default>2048</default> | |
191 <context>stream</context> | |
192 | |
193 <para> | |
194 Задаёт максимальный размер хэш-таблиц для переменных <link id="map"/>. | |
195 Подробнее настройка хэш-таблиц обсуждается в отдельном | |
196 <link doc="../hash.xml">документе</link>. | |
197 </para> | |
198 | |
199 </directive> | |
200 | |
201 </section> | |
202 | |
203 </module> |