Mercurial > hg > nginx-site
comparison xml/ru/docs/http/ngx_http_core_module.xml @ 958:fd1f8e0a405e
Text review of ngx_http_core_module.
author | Egor Nikitin <yegor.nikitin@gmail.com> |
---|---|
date | Tue, 06 Aug 2013 17:03:33 +0400 |
parents | 2b0731e3adc9 |
children | 95c3c3bbf1ce |
comparison
equal
deleted
inserted
replaced
957:6d9d4bb571a9 | 958:fd1f8e0a405e |
---|---|
91 tcp_nopush on; | 91 tcp_nopush on; |
92 aio sendfile; | 92 aio sendfile; |
93 } | 93 } |
94 </example> | 94 </example> |
95 В такой конфигурации функция <c-func>sendfile</c-func> вызывается с флагом | 95 В такой конфигурации функция <c-func>sendfile</c-func> вызывается с флагом |
96 <c-def>SF_NODISKIO</c-def>, в результате она не блокируется на диске, а | 96 <c-def>SF_NODISKIO</c-def>, в результате чего она не блокируется на диске, а |
97 сообщает об отсутствии данных в памяти, после чего nginx инициирует | 97 сообщает об отсутствии данных в памяти. |
98 асинхронную подгрузку данных, читая только один байт. | 98 После этого nginx инициирует асинхронную подгрузку данных, читая один байт. |
99 При этом ядро FreeBSD подгружает в память первые 128K байт файла, однако | 99 При этом ядро FreeBSD подгружает в память первые 128K байт файла, однако |
100 при последующих чтениях файл подгружается частями только по 16K. | 100 при последующих чтениях файл подгружается частями только по 16K. |
101 Изменить это можно с помощью директивы | 101 Изменить это можно с помощью директивы |
102 <link id="read_ahead"/>. | 102 <link id="read_ahead"/>. |
103 </para> | 103 </para> |
104 | 104 |
105 <para> | 105 <para> |
106 В Linux AIO можно использовать только начиная с версии ядра 2.6.22, и, | 106 В Linux AIO можно использовать только начиная с версии ядра 2.6.22. |
107 кроме того, ещё необходимо дополнительно включать | 107 Кроме того, необходимо также дополнительно включить |
108 <link id="directio"/>, | 108 <link id="directio"/>, |
109 иначе чтение будет блокирующимся: | 109 иначе чтение будет блокирующимся: |
110 <example> | 110 <example> |
111 location /video/ { | 111 location /video/ { |
112 aio on; | 112 aio on; |
115 } | 115 } |
116 </example> | 116 </example> |
117 </para> | 117 </para> |
118 | 118 |
119 <para> | 119 <para> |
120 Поскольку | 120 В Linux |
121 <link id="directio"/> | 121 <link id="directio"/> |
122 в Linux можно использовать только для чтения блоков, выравненных | 122 можно использовать только для чтения блоков, выравненных |
123 на границу 512 байт (или 4К для XFS), то невыравненный конец файла | 123 на границу 512 байт (или 4К для XFS). |
124 будет читаться блокированно. | 124 Невыравненный конец файла будет читаться блокированно. |
125 То же относится к запросам с указанием диапазона запрашиваемых байт | 125 То же относится к запросам с указанием диапазона запрашиваемых байт |
126 (byte-range requests) и к запросам FLV не с начала файла: чтение | 126 (byte-range requests) и к запросам FLV не с начала файла: чтение |
127 невыравненных начала и конца ответа будет блокирующимся. | 127 невыравненных начала и конца ответа будет блокирующимся. |
128 Явно выключать | 128 Явно выключать |
129 <link id="sendfile"/> | 129 <link id="sendfile"/> |
293 В каталоге может использоваться иерархия подкаталогов до трёх уровней. | 293 В каталоге может использоваться иерархия подкаталогов до трёх уровней. |
294 Например, при такой конфигурации | 294 Например, при такой конфигурации |
295 <example> | 295 <example> |
296 client_body_temp_path /spool/nginx/client_temp 1 2; | 296 client_body_temp_path /spool/nginx/client_temp 1 2; |
297 </example> | 297 </example> |
298 временный файл будет следующего вида: | 298 путь к временному файлу будет следующего вида: |
299 <example> | 299 <example> |
300 /spool/nginx/client_temp/7/45/00000123457 | 300 /spool/nginx/client_temp/7/45/00000123457 |
301 </example> | 301 </example> |
302 </para> | 302 </para> |
303 | 303 |
388 <default>256</default> | 388 <default>256</default> |
389 <context>http</context> | 389 <context>http</context> |
390 <context>server</context> | 390 <context>server</context> |
391 | 391 |
392 <para> | 392 <para> |
393 Позволяет производить точную настройку выделений памяти | 393 Позволяет производить точную настройку выделения памяти |
394 под конкретные соединения. | 394 под конкретные соединения. |
395 Эта директива не оказывает существенного влияния на | 395 Эта директива не оказывает существенного влияния на |
396 производительность и её не следует использовать. | 396 производительность, и её не следует использовать. |
397 </para> | 397 </para> |
398 | 398 |
399 </directive> | 399 </directive> |
400 | 400 |
401 | 401 |
532 <para> | 532 <para> |
533 Параметры <literal>on</literal> и <literal>if_not_owner</literal> | 533 Параметры <literal>on</literal> и <literal>if_not_owner</literal> |
534 требуют дополнительных затрат на обработку. | 534 требуют дополнительных затрат на обработку. |
535 <note> | 535 <note> |
536 На системах, не поддерживающих операцию открытия каталогов только для поиска, | 536 На системах, не поддерживающих операцию открытия каталогов только для поиска, |
537 использование этих параметров требует, чтобы рабочие процессы | 537 для использования этих параметров требуется, чтобы рабочие процессы |
538 имели право читать все проверяемые каталоги. | 538 имели право читать все проверяемые каталоги. |
539 </note> | 539 </note> |
540 </para> | 540 </para> |
541 | 541 |
542 <para> | 542 <para> |
564 <context>if в location</context> | 564 <context>if в location</context> |
565 | 565 |
566 <para> | 566 <para> |
567 Задаёт URI, который будет показываться для указанных ошибок. | 567 Задаёт URI, который будет показываться для указанных ошибок. |
568 Директивы <literal>error_page</literal> наследуются с предыдущего уровня | 568 Директивы <literal>error_page</literal> наследуются с предыдущего уровня |
569 при условии, что на данном уровне не описаны свои директивы | 569 при условии, что на данном уровне не заданы свои директивы |
570 <literal>error_page</literal>. | 570 <literal>error_page</literal>. |
571 В значении <literal>uri</literal> можно использовать переменные. | 571 В значении <literal>uri</literal> можно использовать переменные. |
572 </para> | 572 </para> |
573 | 573 |
574 <para> | 574 <para> |
828 <appeared-in>0.8.0</appeared-in> | 828 <appeared-in>0.8.0</appeared-in> |
829 | 829 |
830 <para> | 830 <para> |
831 Задаёт максимальное число запросов, которые можно | 831 Задаёт максимальное число запросов, которые можно |
832 сделать по одному keep-alive соединению. | 832 сделать по одному keep-alive соединению. |
833 После того, как будет сделано максимальное число запросов, | 833 После того, как сделано максимальное число запросов, |
834 соединение закрывается. | 834 соединение закрывается. |
835 </para> | 835 </para> |
836 | 836 |
837 </directive> | 837 </directive> |
838 | 838 |
945 Скорость задаётся в байтах в секунду. | 945 Скорость задаётся в байтах в секунду. |
946 Значение 0 отключает ограничение скорости. | 946 Значение 0 отключает ограничение скорости. |
947 <!-- | 947 <!-- |
948 Чем меньше скорость, тем более аккуратным будет ограничение. | 948 Чем меньше скорость, тем более аккуратным будет ограничение. |
949 --> | 949 --> |
950 Ограничение устанавливается на запрос, поэтому если клиент одновременно | 950 Ограничение устанавливается на запрос, поэтому, если клиент одновременно |
951 откроет два соединения, суммарная скорость будет вдвое выше | 951 откроет два соединения, суммарная скорость будет вдвое выше |
952 заданного ограничения. | 952 заданного ограничения. |
953 </para> | 953 </para> |
954 | 954 |
955 <para> | 955 <para> |
1038 </para> | 1038 </para> |
1039 | 1039 |
1040 <para> | 1040 <para> |
1041 Со значением “<literal>off</literal>” nginx не будет ждать поступления | 1041 Со значением “<literal>off</literal>” nginx не будет ждать поступления |
1042 дополнительных данных и сразу же закроет соединение. | 1042 дополнительных данных и сразу же закроет соединение. |
1043 Это нарушает протокол, поэтому не следует это использовать без нужды. | 1043 Это поведение нарушает протокол и поэтому не должно использоваться без |
1044 необходимости. | |
1044 </para> | 1045 </para> |
1045 | 1046 |
1046 </directive> | 1047 </directive> |
1047 | 1048 |
1048 | 1049 |
1074 | 1075 |
1075 <para> | 1076 <para> |
1076 Если действует <link id="lingering_close"/>, эта директива задаёт | 1077 Если действует <link id="lingering_close"/>, эта директива задаёт |
1077 максимальное время ожидания поступления дополнительных данных от клиента. | 1078 максимальное время ожидания поступления дополнительных данных от клиента. |
1078 Если в течение этого времени данные не были получены, соединение закрывается. | 1079 Если в течение этого времени данные не были получены, соединение закрывается. |
1079 Иначе данные читаются и игнорируются, затем nginx снова ждёт поступления данных. | 1080 В противном случае данные читаются и игнорируются, и nginx снова |
1081 ждёт поступления данных. | |
1080 Цикл “ждать-читать-игнорировать” повторяется, но не дольше чем задано | 1082 Цикл “ждать-читать-игнорировать” повторяется, но не дольше чем задано |
1081 директивой <link id="lingering_time"/>. | 1083 директивой <link id="lingering_time"/>. |
1082 </para> | 1084 </para> |
1083 | 1085 |
1084 </directive> | 1086 </directive> |
1130 | 1132 |
1131 <para> | 1133 <para> |
1132 Задаёт <value>адрес</value> и <value>порт</value> для IP | 1134 Задаёт <value>адрес</value> и <value>порт</value> для IP |
1133 или <value>путь</value> для UNIX-сокета, | 1135 или <value>путь</value> для UNIX-сокета, |
1134 на которых сервер будет принимать запросы. | 1136 на которых сервер будет принимать запросы. |
1135 Можно указать только <value>адрес</value> | 1137 Можно указать <value>адрес</value> и <value>порт</value>, |
1136 или только <value>порт</value>. | 1138 либо только <value>адрес</value> или только <value>порт</value>. |
1137 Кроме того, <value>адрес</value> может быть именем хоста, например: | 1139 Кроме того, <value>адрес</value> может быть именем хоста, например: |
1138 <example> | 1140 <example> |
1139 listen 127.0.0.1:8000; | 1141 listen 127.0.0.1:8000; |
1140 listen 127.0.0.1; | 1142 listen 127.0.0.1; |
1141 listen 8000; | 1143 listen 8000; |
1156 <para> | 1158 <para> |
1157 Если указан только <value>адрес</value>, то используется порт 80. | 1159 Если указан только <value>адрес</value>, то используется порт 80. |
1158 </para> | 1160 </para> |
1159 | 1161 |
1160 <para> | 1162 <para> |
1161 Если директива не указана, то используется либо <literal>*:80</literal> | 1163 Если директива не указана, то используется либо <literal>*:80</literal>, |
1162 (если nginx работает с привилегиями суперпользователя), | 1164 если nginx работает с привилегиями суперпользователя, |
1163 либо <literal>*:8000</literal>. | 1165 либо <literal>*:8000</literal>. |
1164 </para> | 1166 </para> |
1165 | 1167 |
1166 <para> | 1168 <para> |
1167 Если у директивы есть параметр <literal>default_server</literal>, то сервер, | 1169 Если у директивы есть параметр <literal>default_server</literal>, то сервер, |
1175 <literal>default</literal>. | 1177 <literal>default</literal>. |
1176 </note> | 1178 </note> |
1177 </para> | 1179 </para> |
1178 | 1180 |
1179 <para> | 1181 <para> |
1180 Параметр <literal>ssl</literal>(0.7.14) позволяет указать, что все соединения, | 1182 Параметр <literal>ssl</literal> (0.7.14) указывает на то, что все соединения, |
1181 принимаемые на этом порту, должны работать в режиме SSL. | 1183 принимаемые на данном порту, должны работать в режиме SSL. |
1182 Это позволяет задать компактную <link doc="configuring_https_servers.xml" | 1184 Это позволяет задать компактную <link doc="configuring_https_servers.xml" |
1183 id="single_http_https_server">конфигурацию</link> для сервера, | 1185 id="single_http_https_server">конфигурацию</link> для сервера, |
1184 работающего сразу в двух режимах — HTTP и HTTPS. | 1186 работающего сразу в двух режимах — HTTP и HTTPS. |
1185 </para> | 1187 </para> |
1186 | 1188 |
1248 задаёт название accept-фильтра | 1250 задаёт название accept-фильтра |
1249 (параметр <c-def>SO_ACCEPTFILTER</c-def>) для слушающего сокета, | 1251 (параметр <c-def>SO_ACCEPTFILTER</c-def>) для слушающего сокета, |
1250 который включается для фильтрации входящих соединений | 1252 который включается для фильтрации входящих соединений |
1251 перед передачей их в <c-func>accept</c-func>. | 1253 перед передачей их в <c-func>accept</c-func>. |
1252 Работает только на FreeBSD и NetBSD 5.0+. | 1254 Работает только на FreeBSD и NetBSD 5.0+. |
1253 Можно использовать два фильтра — | 1255 Можно использовать два фильтра: |
1254 <link url="http://man.freebsd.org/accf_data">dataready</link> | 1256 <link url="http://man.freebsd.org/accf_data">dataready</link> |
1255 и | 1257 и |
1256 <link url="http://man.freebsd.org/accf_http">httpready</link>. | 1258 <link url="http://man.freebsd.org/accf_http">httpready</link>. |
1257 </tag-desc> | 1259 </tag-desc> |
1258 | 1260 |
1269 </tag-name> | 1271 </tag-name> |
1270 <tag-desc> | 1272 <tag-desc> |
1271 указывает, что для данной пары | 1273 указывает, что для данной пары |
1272 <value>адрес</value>:<value>порт</value> нужно делать | 1274 <value>адрес</value>:<value>порт</value> нужно делать |
1273 <c-func>bind</c-func> отдельно. | 1275 <c-func>bind</c-func> отдельно. |
1274 Дело в том, что если описаны несколько директив <literal>listen</literal> | 1276 Это нужно потому, что если описаны несколько директив <literal>listen</literal> |
1275 с одинаковым портом, но разными адресами, и одна из директив | 1277 с одинаковым портом, но разными адресами, и одна из директив |
1276 <literal>listen</literal> слушает на всех адресах для данного порта | 1278 <literal>listen</literal> слушает на всех адресах для данного порта |
1277 (<literal>*:</literal><value>порт</value>), то nginx сделает | 1279 (<literal>*:</literal><value>порт</value>), то nginx сделает |
1278 <c-func>bind</c-func> только на <literal>*:</literal><value>порт</value>. | 1280 <c-func>bind</c-func> только на <literal>*:</literal><value>порт</value>. |
1279 Необходимо заметить, что в этом случае для определения адреса, на которой | 1281 Необходимо заметить, что в этом случае для определения адреса, на которой |
1365 | 1367 |
1366 <para> | 1368 <para> |
1367 Для сопоставления используется URI запроса в нормализованном виде, | 1369 Для сопоставления используется URI запроса в нормализованном виде, |
1368 после декодирования текста, заданного в виде “<literal>%XX</literal>”, | 1370 после декодирования текста, заданного в виде “<literal>%XX</literal>”, |
1369 преобразования относительных элементов пути “<literal>.</literal>” и | 1371 преобразования относительных элементов пути “<literal>.</literal>” и |
1370 “<literal>..</literal>” в реальные, и возможной | 1372 “<literal>..</literal>” в реальные и возможной |
1371 <link id="merge_slashes">замены</link> двух и более подряд идущих | 1373 <link id="merge_slashes">замены</link> двух и более подряд идущих |
1372 слэшей на один. | 1374 слэшей на один. |
1373 </para> | 1375 </para> |
1374 | 1376 |
1375 <para> | 1377 <para> |
1377 Регулярные выражения задаются либо с модификатором “<literal>~*</literal>” | 1379 Регулярные выражения задаются либо с модификатором “<literal>~*</literal>” |
1378 (для поиска совпадения без учёта регистра символов), | 1380 (для поиска совпадения без учёта регистра символов), |
1379 либо с модификатором “<literal>~</literal>” (с учётом регистра). | 1381 либо с модификатором “<literal>~</literal>” (с учётом регистра). |
1380 Чтобы найти location, соответствующий запросу, вначале проверяются | 1382 Чтобы найти location, соответствующий запросу, вначале проверяются |
1381 location’ы, заданные префиксными строками (префиксные location’ы). | 1383 location’ы, заданные префиксными строками (префиксные location’ы). |
1382 Среди них ищется максимальное совпадение. | 1384 Среди них ищется location с совпадающим префиксом |
1385 максимальной длины и запоминается. | |
1383 Затем проверяются регулярные выражения, в порядке их следования | 1386 Затем проверяются регулярные выражения, в порядке их следования |
1384 в конфигурационном файле. | 1387 в конфигурационном файле. |
1385 Проверка регулярных выражений прекращается после первого же совпадения, | 1388 Проверка регулярных выражений прекращается после первого же совпадения, |
1386 и используется соответствующая конфигурация. | 1389 и используется соответствующая конфигурация. |
1387 Если совпадение с регулярным выражением не найдено, то используется | 1390 Если совпадение с регулярным выражением не найдено, то используется |
1388 конфигурация максимально совпавшего префиксного location’а. | 1391 конфигурация запомненного ранее префиксного location’а. |
1389 </para> | 1392 </para> |
1390 | 1393 |
1391 <para> | 1394 <para> |
1392 location’ы могут быть вложенными, с некоторыми исключениями, | 1395 Блоки <literal>location</literal> могут быть вложенными, |
1393 о которых говорится ниже. | 1396 с некоторыми исключениями, о которых говорится ниже. |
1394 </para> | 1397 </para> |
1395 | 1398 |
1396 <para> | 1399 <para> |
1397 Для операционных систем, нечувствительных к регистру символов, таких | 1400 Для операционных систем, нечувствительных к регистру символов, таких |
1398 как Mac OS X и Cygwin, сравнение с префиксными строками производится | 1401 как Mac OS X и Cygwin, сравнение с префиксными строками производится |
1399 без учёта регистра (0.7.7). | 1402 без учёта регистра (0.7.7). |
1400 Однако, сравнение ограничено только однобайтными locale’ями. | 1403 Однако сравнение ограничено только однобайтными locale’ями. |
1401 </para> | 1404 </para> |
1402 | 1405 |
1403 <para> | 1406 <para> |
1404 Регулярные выражения могут содержать выделения (0.7.40), которые могут | 1407 Регулярные выражения могут содержать выделения (0.7.40), которые могут |
1405 затем использоваться в других директивах. | 1408 затем использоваться в других директивах. |
1406 </para> | 1409 </para> |
1407 | 1410 |
1408 <para> | 1411 <para> |
1409 Если у максимального совпавшего префиксного location’а указан модификатор | 1412 Если у совпавшего префиксного location’а максимальной длины указан модификатор |
1410 “<literal>^~</literal>”, то регулярные выражения не проверяются. | 1413 “<literal>^~</literal>”, то регулярные выражения не проверяются. |
1411 </para> | 1414 </para> |
1412 | 1415 |
1413 <para> | 1416 <para> |
1414 Кроме того, с помощью модификатора “<literal>=</literal>” можно задать точное | 1417 Кроме того, с помощью модификатора “<literal>=</literal>” можно задать точное |
1541 <para> | 1544 <para> |
1542 Ограничивает максимальное допустимое число диапазонов в запросах с | 1545 Ограничивает максимальное допустимое число диапазонов в запросах с |
1543 указанием диапазона запрашиваемых байт (byte-range requests). | 1546 указанием диапазона запрашиваемых байт (byte-range requests). |
1544 Запросы, превышающие указанное ограничение, обрабатываются как | 1547 Запросы, превышающие указанное ограничение, обрабатываются как |
1545 если бы они не содержали указания диапазонов. | 1548 если бы они не содержали указания диапазонов. |
1546 По умолчанию ограничения нет. | 1549 По умолчанию число диапазонов не ограничено. |
1547 Значение 0 полностью запрещает поддержку диапазонов. | 1550 Значение 0 полностью запрещает поддержку диапазонов. |
1548 </para> | 1551 </para> |
1549 | 1552 |
1550 </directive> | 1553 </directive> |
1551 | 1554 |
1577 | 1580 |
1578 <para> | 1581 <para> |
1579 Запрет преобразования может понадобиться, если в URI используются имена, | 1582 Запрет преобразования может понадобиться, если в URI используются имена, |
1580 закодированные методом base64, в котором задействован символ | 1583 закодированные методом base64, в котором задействован символ |
1581 “<literal>/</literal>”. | 1584 “<literal>/</literal>”. |
1582 Однако по соображениям безопасности лучше избегать отключения преобразования. | 1585 Однако из соображений безопасности лучше избегать отключения преобразования. |
1583 </para> | 1586 </para> |
1584 | 1587 |
1585 <para> | 1588 <para> |
1586 Директива может быть указана на уровне <link id="server"/> | 1589 Директива может быть указана на уровне <link id="server"/> |
1587 в сервере по умолчанию. | 1590 в сервере по умолчанию. |
1750 <context>location</context> | 1753 <context>location</context> |
1751 | 1754 |
1752 <para> | 1755 <para> |
1753 Задаёт минимальное <value>число</value> обращений к файлу | 1756 Задаёт минимальное <value>число</value> обращений к файлу |
1754 в течение времени, заданного параметром <literal>inactive</literal> | 1757 в течение времени, заданного параметром <literal>inactive</literal> |
1755 директивы <link id="open_file_cache"/>, после которого дескриптор | 1758 директивы <link id="open_file_cache"/>, необходимых для того, чтобы дескриптор |
1756 файла будет оставаться открытым в кэше. | 1759 файла оставался открытым в кэше. |
1757 </para> | 1760 </para> |
1758 | 1761 |
1759 </directive> | 1762 </directive> |
1760 | 1763 |
1761 | 1764 |
1786 <default>off</default> | 1789 <default>off</default> |
1787 <context>http</context> | 1790 <context>http</context> |
1788 <context>server</context> | 1791 <context>server</context> |
1789 | 1792 |
1790 <para> | 1793 <para> |
1791 Директива устарела, вместо неё следует использовать директиву | 1794 Директива устарела. |
1792 <link id="server_name_in_redirect"/>. | 1795 Вместо неё следует использовать директиву <link id="server_name_in_redirect"/>. |
1793 </para> | 1796 </para> |
1794 | 1797 |
1795 <!-- | 1798 <!-- |
1796 <para> | 1799 <para> |
1797 Разрешает или запрещает оптимизировать проверку имени хоста в name-based | 1800 Разрешает или запрещает оптимизировать проверку имени хоста в name-based |
1896 | 1899 |
1897 <para> | 1900 <para> |
1898 Позволяет производить точную настройку выделений памяти | 1901 Позволяет производить точную настройку выделений памяти |
1899 под конкретные запросы. | 1902 под конкретные запросы. |
1900 Эта директива не оказывает существенного влияния на | 1903 Эта директива не оказывает существенного влияния на |
1901 производительность и её не следует использовать. | 1904 производительность, и её не следует использовать. |
1902 </para> | 1905 </para> |
1903 | 1906 |
1904 </directive> | 1907 </directive> |
1905 | 1908 |
1906 | 1909 |
1911 <context>server</context> | 1914 <context>server</context> |
1912 <context>location</context> | 1915 <context>location</context> |
1913 | 1916 |
1914 <para> | 1917 <para> |
1915 Разрешает или запрещает сброс соединений по таймауту. | 1918 Разрешает или запрещает сброс соединений по таймауту. |
1916 Сброс делается следующим образом — перед закрытием сокета для него | 1919 Сброс делается следующим образом. |
1917 ставится параметр | 1920 Перед закрытием сокета для него задаётся параметр |
1918 <c-def>SO_LINGER</c-def> | 1921 <c-def>SO_LINGER</c-def> |
1919 с таймаутом 0. | 1922 с таймаутом 0. |
1920 После чего при закрытии сокета клиенту отсылается TCP RST, а вся память, | 1923 После этого при закрытии сокета клиенту отсылается TCP RST, а вся память, |
1921 связанная с этим сокетом, освобождается. | 1924 связанная с этим сокетом, освобождается. |
1922 Это позволяет избежать длительного нахождения уже закрытого сокета в | 1925 Это позволяет избежать длительного нахождения уже закрытого сокета в |
1923 состоянии FIN_WAIT1 с заполненными буферами. | 1926 состоянии FIN_WAIT1 с заполненными буферами. |
1924 </para> | 1927 </para> |
1925 | 1928 |
2076 <context>http</context> | 2079 <context>http</context> |
2077 <context>server</context> | 2080 <context>server</context> |
2078 <context>location</context> | 2081 <context>location</context> |
2079 | 2082 |
2080 <para> | 2083 <para> |
2081 При установке в ненулевое значение nginx будет пытаться минимизировать | 2084 При установке этой директивы в ненулевое значение nginx будет пытаться |
2082 число операций отправки на клиентских сокетах либо при помощи флага | 2085 минимизировать число операций отправки на клиентских сокетах либо при |
2083 <c-def>NOTE_LOWAT</c-def> метода | 2086 помощи флага <c-def>NOTE_LOWAT</c-def> метода |
2084 <link doc="../events.xml" id="kqueue"/>, | 2087 <link doc="../events.xml" id="kqueue"/>, |
2085 либо при помощи параметра сокета <c-def>SO_SNDLOWAT</c-def>, | 2088 либо при помощи параметра сокета <c-def>SO_SNDLOWAT</c-def>. |
2086 с указанным размером. | 2089 В обоих случаях будет использован указанный <value>размер</value>. |
2087 </para> | 2090 </para> |
2088 | 2091 |
2089 <para> | 2092 <para> |
2090 Эта директива игнорируется на Linux, Solaris и Windows. | 2093 Эта директива игнорируется на Linux, Solaris и Windows. |
2091 </para> | 2094 </para> |
2256 } | 2259 } |
2257 </example> | 2260 </example> |
2258 </para> | 2261 </para> |
2259 | 2262 |
2260 <para> | 2263 <para> |
2261 Если параметр равен “<var>$hostname</var>” (0.9.4), то | 2264 Если параметр директивы установлен в “<var>$hostname</var>” (0.9.4), то |
2262 подставляется имя хоста (hostname) машины. | 2265 подставляется имя хоста (hostname) машины. |
2263 </para> | 2266 </para> |
2264 | 2267 |
2265 <para> | 2268 <para> |
2266 Возможно также указать пустое имя сервера (0.7.11): | 2269 Возможно также указать пустое имя сервера (0.7.11): |
2323 | 2326 |
2324 <para> | 2327 <para> |
2325 Разрешает или запрещает использовать в перенаправлениях, выдаваемых nginx’ом, | 2328 Разрешает или запрещает использовать в перенаправлениях, выдаваемых nginx’ом, |
2326 основное имя сервера, задаваемое директивой | 2329 основное имя сервера, задаваемое директивой |
2327 <link id="server_name"/>. | 2330 <link id="server_name"/>. |
2328 Если запрещено, то используется имя, указанное в поле <header>Host</header> | 2331 Если использование основного имени сервера запрещено, то используется имя, |
2329 заголовка запроса. | 2332 указанное в поле <header>Host</header> заголовка запроса. |
2330 Если же этого поля нет, то используется IP-адрес сервера. | 2333 Если же этого поля нет, то используется IP-адрес сервера. |
2331 </para> | 2334 </para> |
2332 | 2335 |
2333 <para> | 2336 <para> |
2334 Использование в перенаправлениях порта управляется | 2337 Использование в перенаправлениях порта управляется |
2455 expires 30s; | 2458 expires 30s; |
2456 } | 2459 } |
2457 </example> | 2460 </example> |
2458 Последний параметр может также указывать на именованный location, | 2461 Последний параметр может также указывать на именованный location, |
2459 как в примерах ниже. | 2462 как в примерах ниже. |
2460 С версии 0.7.51 последний параметр может также быть кодом: | 2463 С версии 0.7.51 последний параметр может также быть <value>кодом</value>: |
2461 <example> | 2464 <example> |
2462 location / { | 2465 location / { |
2463 try_files $uri $uri/index.html $uri.html =404; | 2466 try_files $uri $uri/index.html $uri.html =404; |
2464 } | 2467 } |
2465 </example> | 2468 </example> |
2650 <context>server</context> | 2653 <context>server</context> |
2651 | 2654 |
2652 <para> | 2655 <para> |
2653 Разрешает или запрещает использование символов подчёркивания в | 2656 Разрешает или запрещает использование символов подчёркивания в |
2654 полях заголовка запроса клиента. | 2657 полях заголовка запроса клиента. |
2655 Если запрещено, поля заголовка запроса, в чьих именах есть подчёркивания, | 2658 Если использование символов подчёркивания запрещено, поля заголовка запроса, в |
2659 именах которых есть подчёркивания, | |
2656 помечаются как недопустимые и подпадают под действие директивы | 2660 помечаются как недопустимые и подпадают под действие директивы |
2657 <link id="ignore_invalid_headers"/>. | 2661 <link id="ignore_invalid_headers"/>. |
2658 </para> | 2662 </para> |
2659 | 2663 |
2660 <para> | 2664 <para> |
2878 | 2882 |
2879 <tag-name id="var_request_body_file"><var>$request_body_file</var></tag-name> | 2883 <tag-name id="var_request_body_file"><var>$request_body_file</var></tag-name> |
2880 <tag-desc> | 2884 <tag-desc> |
2881 имя временного файла, в котором хранится тело запроса | 2885 имя временного файла, в котором хранится тело запроса |
2882 <para> | 2886 <para> |
2883 По завершению обработки файл необходимо удалить. | 2887 По завершении обработки файл необходимо удалить. |
2884 Для того, чтобы тело запроса всегда записывалось в файл, | 2888 Для того, чтобы тело запроса всегда записывалось в файл, |
2885 следует включить <link id="client_body_in_file_only"/>. | 2889 следует включить <link id="client_body_in_file_only"/>. |
2886 При передаче имени временного файла в проксированном запросе | 2890 При передаче имени временного файла в проксированном запросе |
2887 или в запросе к FastCGI-серверу следует запретить передачу самого | 2891 или в запросе к FastCGI-серверу следует запретить передачу самого |
2888 тела директивами | 2892 тела директивами |