Mercurial > hg > nginx-site
diff 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 |
line wrap: on
line diff
--- a/xml/ru/docs/http/ngx_http_core_module.xml Sat Jun 08 20:55:52 2013 +0400 +++ b/xml/ru/docs/http/ngx_http_core_module.xml Tue Aug 06 17:03:33 2013 +0400 @@ -93,9 +93,9 @@ } </example> В такой конфигурации функция <c-func>sendfile</c-func> вызывается с флагом -<c-def>SF_NODISKIO</c-def>, в результате она не блокируется на диске, а -сообщает об отсутствии данных в памяти, после чего nginx инициирует -асинхронную подгрузку данных, читая только один байт. +<c-def>SF_NODISKIO</c-def>, в результате чего она не блокируется на диске, а +сообщает об отсутствии данных в памяти. +После этого nginx инициирует асинхронную подгрузку данных, читая один байт. При этом ядро FreeBSD подгружает в память первые 128K байт файла, однако при последующих чтениях файл подгружается частями только по 16K. Изменить это можно с помощью директивы @@ -103,8 +103,8 @@ </para> <para> -В Linux AIO можно использовать только начиная с версии ядра 2.6.22, и, -кроме того, ещё необходимо дополнительно включать +В Linux AIO можно использовать только начиная с версии ядра 2.6.22. +Кроме того, необходимо также дополнительно включить <link id="directio"/>, иначе чтение будет блокирующимся: <example> @@ -117,11 +117,11 @@ </para> <para> -Поскольку +В Linux <link id="directio"/> -в Linux можно использовать только для чтения блоков, выравненных -на границу 512 байт (или 4К для XFS), то невыравненный конец файла -будет читаться блокированно. +можно использовать только для чтения блоков, выравненных +на границу 512 байт (или 4К для XFS). +Невыравненный конец файла будет читаться блокированно. То же относится к запросам с указанием диапазона запрашиваемых байт (byte-range requests) и к запросам FLV не с начала файла: чтение невыравненных начала и конца ответа будет блокирующимся. @@ -295,7 +295,7 @@ <example> client_body_temp_path /spool/nginx/client_temp 1 2; </example> -временный файл будет следующего вида: +путь к временному файлу будет следующего вида: <example> /spool/nginx/client_temp/7/45/00000123457 </example> @@ -390,10 +390,10 @@ <context>server</context> <para> -Позволяет производить точную настройку выделений памяти +Позволяет производить точную настройку выделения памяти под конкретные соединения. Эта директива не оказывает существенного влияния на -производительность и её не следует использовать. +производительность, и её не следует использовать. </para> </directive> @@ -534,7 +534,7 @@ требуют дополнительных затрат на обработку. <note> На системах, не поддерживающих операцию открытия каталогов только для поиска, -использование этих параметров требует, чтобы рабочие процессы +для использования этих параметров требуется, чтобы рабочие процессы имели право читать все проверяемые каталоги. </note> </para> @@ -566,7 +566,7 @@ <para> Задаёт URI, который будет показываться для указанных ошибок. Директивы <literal>error_page</literal> наследуются с предыдущего уровня -при условии, что на данном уровне не описаны свои директивы +при условии, что на данном уровне не заданы свои директивы <literal>error_page</literal>. В значении <literal>uri</literal> можно использовать переменные. </para> @@ -830,7 +830,7 @@ <para> Задаёт максимальное число запросов, которые можно сделать по одному keep-alive соединению. -После того, как будет сделано максимальное число запросов, +После того, как сделано максимальное число запросов, соединение закрывается. </para> @@ -947,7 +947,7 @@ <!-- Чем меньше скорость, тем более аккуратным будет ограничение. --> -Ограничение устанавливается на запрос, поэтому если клиент одновременно +Ограничение устанавливается на запрос, поэтому, если клиент одновременно откроет два соединения, суммарная скорость будет вдвое выше заданного ограничения. </para> @@ -1040,7 +1040,8 @@ <para> Со значением “<literal>off</literal>” nginx не будет ждать поступления дополнительных данных и сразу же закроет соединение. -Это нарушает протокол, поэтому не следует это использовать без нужды. +Это поведение нарушает протокол и поэтому не должно использоваться без +необходимости. </para> </directive> @@ -1076,7 +1077,8 @@ Если действует <link id="lingering_close"/>, эта директива задаёт максимальное время ожидания поступления дополнительных данных от клиента. Если в течение этого времени данные не были получены, соединение закрывается. -Иначе данные читаются и игнорируются, затем nginx снова ждёт поступления данных. +В противном случае данные читаются и игнорируются, и nginx снова +ждёт поступления данных. Цикл “ждать-читать-игнорировать” повторяется, но не дольше чем задано директивой <link id="lingering_time"/>. </para> @@ -1132,8 +1134,8 @@ Задаёт <value>адрес</value> и <value>порт</value> для IP или <value>путь</value> для UNIX-сокета, на которых сервер будет принимать запросы. -Можно указать только <value>адрес</value> -или только <value>порт</value>. +Можно указать <value>адрес</value> и <value>порт</value>, +либо только <value>адрес</value> или только <value>порт</value>. Кроме того, <value>адрес</value> может быть именем хоста, например: <example> listen 127.0.0.1:8000; @@ -1158,8 +1160,8 @@ </para> <para> -Если директива не указана, то используется либо <literal>*:80</literal> -(если nginx работает с привилегиями суперпользователя), +Если директива не указана, то используется либо <literal>*:80</literal>, +если nginx работает с привилегиями суперпользователя, либо <literal>*:8000</literal>. </para> @@ -1177,8 +1179,8 @@ </para> <para> -Параметр <literal>ssl</literal>(0.7.14) позволяет указать, что все соединения, -принимаемые на этом порту, должны работать в режиме SSL. +Параметр <literal>ssl</literal> (0.7.14) указывает на то, что все соединения, +принимаемые на данном порту, должны работать в режиме SSL. Это позволяет задать компактную <link doc="configuring_https_servers.xml" id="single_http_https_server">конфигурацию</link> для сервера, работающего сразу в двух режимах — HTTP и HTTPS. @@ -1250,7 +1252,7 @@ который включается для фильтрации входящих соединений перед передачей их в <c-func>accept</c-func>. Работает только на FreeBSD и NetBSD 5.0+. -Можно использовать два фильтра — +Можно использовать два фильтра: <link url="http://man.freebsd.org/accf_data">dataready</link> и <link url="http://man.freebsd.org/accf_http">httpready</link>. @@ -1271,7 +1273,7 @@ указывает, что для данной пары <value>адрес</value>:<value>порт</value> нужно делать <c-func>bind</c-func> отдельно. -Дело в том, что если описаны несколько директив <literal>listen</literal> +Это нужно потому, что если описаны несколько директив <literal>listen</literal> с одинаковым портом, но разными адресами, и одна из директив <literal>listen</literal> слушает на всех адресах для данного порта (<literal>*:</literal><value>порт</value>), то nginx сделает @@ -1367,7 +1369,7 @@ Для сопоставления используется URI запроса в нормализованном виде, после декодирования текста, заданного в виде “<literal>%XX</literal>”, преобразования относительных элементов пути “<literal>.</literal>” и -“<literal>..</literal>” в реальные, и возможной +“<literal>..</literal>” в реальные и возможной <link id="merge_slashes">замены</link> двух и более подряд идущих слэшей на один. </para> @@ -1379,25 +1381,26 @@ либо с модификатором “<literal>~</literal>” (с учётом регистра). Чтобы найти location, соответствующий запросу, вначале проверяются location’ы, заданные префиксными строками (префиксные location’ы). -Среди них ищется максимальное совпадение. +Среди них ищется location с совпадающим префиксом +максимальной длины и запоминается. Затем проверяются регулярные выражения, в порядке их следования в конфигурационном файле. Проверка регулярных выражений прекращается после первого же совпадения, и используется соответствующая конфигурация. Если совпадение с регулярным выражением не найдено, то используется -конфигурация максимально совпавшего префиксного location’а. +конфигурация запомненного ранее префиксного location’а. </para> <para> -location’ы могут быть вложенными, с некоторыми исключениями, -о которых говорится ниже. +Блоки <literal>location</literal> могут быть вложенными, +с некоторыми исключениями, о которых говорится ниже. </para> <para> Для операционных систем, нечувствительных к регистру символов, таких как Mac OS X и Cygwin, сравнение с префиксными строками производится без учёта регистра (0.7.7). -Однако, сравнение ограничено только однобайтными locale’ями. +Однако сравнение ограничено только однобайтными locale’ями. </para> <para> @@ -1406,7 +1409,7 @@ </para> <para> -Если у максимального совпавшего префиксного location’а указан модификатор +Если у совпавшего префиксного location’а максимальной длины указан модификатор “<literal>^~</literal>”, то регулярные выражения не проверяются. </para> @@ -1543,7 +1546,7 @@ указанием диапазона запрашиваемых байт (byte-range requests). Запросы, превышающие указанное ограничение, обрабатываются как если бы они не содержали указания диапазонов. -По умолчанию ограничения нет. +По умолчанию число диапазонов не ограничено. Значение 0 полностью запрещает поддержку диапазонов. </para> @@ -1579,7 +1582,7 @@ Запрет преобразования может понадобиться, если в URI используются имена, закодированные методом base64, в котором задействован символ “<literal>/</literal>”. -Однако по соображениям безопасности лучше избегать отключения преобразования. +Однако из соображений безопасности лучше избегать отключения преобразования. </para> <para> @@ -1752,8 +1755,8 @@ <para> Задаёт минимальное <value>число</value> обращений к файлу в течение времени, заданного параметром <literal>inactive</literal> -директивы <link id="open_file_cache"/>, после которого дескриптор -файла будет оставаться открытым в кэше. +директивы <link id="open_file_cache"/>, необходимых для того, чтобы дескриптор +файла оставался открытым в кэше. </para> </directive> @@ -1788,8 +1791,8 @@ <context>server</context> <para> -Директива устарела, вместо неё следует использовать директиву -<link id="server_name_in_redirect"/>. +Директива устарела. +Вместо неё следует использовать директиву <link id="server_name_in_redirect"/>. </para> <!-- @@ -1898,7 +1901,7 @@ Позволяет производить точную настройку выделений памяти под конкретные запросы. Эта директива не оказывает существенного влияния на -производительность и её не следует использовать. +производительность, и её не следует использовать. </para> </directive> @@ -1913,11 +1916,11 @@ <para> Разрешает или запрещает сброс соединений по таймауту. -Сброс делается следующим образом — перед закрытием сокета для него -ставится параметр +Сброс делается следующим образом. +Перед закрытием сокета для него задаётся параметр <c-def>SO_LINGER</c-def> с таймаутом 0. -После чего при закрытии сокета клиенту отсылается TCP RST, а вся память, +После этого при закрытии сокета клиенту отсылается TCP RST, а вся память, связанная с этим сокетом, освобождается. Это позволяет избежать длительного нахождения уже закрытого сокета в состоянии FIN_WAIT1 с заполненными буферами. @@ -2078,12 +2081,12 @@ <context>location</context> <para> -При установке в ненулевое значение nginx будет пытаться минимизировать -число операций отправки на клиентских сокетах либо при помощи флага -<c-def>NOTE_LOWAT</c-def> метода +При установке этой директивы в ненулевое значение nginx будет пытаться +минимизировать число операций отправки на клиентских сокетах либо при +помощи флага <c-def>NOTE_LOWAT</c-def> метода <link doc="../events.xml" id="kqueue"/>, -либо при помощи параметра сокета <c-def>SO_SNDLOWAT</c-def>, -с указанным размером. +либо при помощи параметра сокета <c-def>SO_SNDLOWAT</c-def>. +В обоих случаях будет использован указанный <value>размер</value>. </para> <para> @@ -2258,7 +2261,7 @@ </para> <para> -Если параметр равен “<var>$hostname</var>” (0.9.4), то +Если параметр директивы установлен в “<var>$hostname</var>” (0.9.4), то подставляется имя хоста (hostname) машины. </para> @@ -2325,8 +2328,8 @@ Разрешает или запрещает использовать в перенаправлениях, выдаваемых nginx’ом, основное имя сервера, задаваемое директивой <link id="server_name"/>. -Если запрещено, то используется имя, указанное в поле <header>Host</header> -заголовка запроса. +Если использование основного имени сервера запрещено, то используется имя, +указанное в поле <header>Host</header> заголовка запроса. Если же этого поля нет, то используется IP-адрес сервера. </para> @@ -2457,7 +2460,7 @@ </example> Последний параметр может также указывать на именованный location, как в примерах ниже. -С версии 0.7.51 последний параметр может также быть кодом: +С версии 0.7.51 последний параметр может также быть <value>кодом</value>: <example> location / { try_files $uri $uri/index.html $uri.html =404; @@ -2652,7 +2655,8 @@ <para> Разрешает или запрещает использование символов подчёркивания в полях заголовка запроса клиента. -Если запрещено, поля заголовка запроса, в чьих именах есть подчёркивания, +Если использование символов подчёркивания запрещено, поля заголовка запроса, в +именах которых есть подчёркивания, помечаются как недопустимые и подпадают под действие директивы <link id="ignore_invalid_headers"/>. </para> @@ -2880,7 +2884,7 @@ <tag-desc> имя временного файла, в котором хранится тело запроса <para> -По завершению обработки файл необходимо удалить. +По завершении обработки файл необходимо удалить. Для того, чтобы тело запроса всегда записывалось в файл, следует включить <link id="client_body_in_file_only"/>. При передаче имени временного файла в проксированном запросе