# HG changeset patch # User Yaroslav Zhuravlev # Date 1435836219 -10800 # Node ID bcffd2161de7abbfb60d8c0d6d7dfab28b349ac3 # Parent 3ae5301ea37a500538cd32011755d936cffff39b Translated the stream core module into Russian. diff -r 3ae5301ea37a -r bcffd2161de7 xml/ru/GNUmakefile --- a/xml/ru/GNUmakefile Thu Jul 02 14:12:22 2015 +0300 +++ b/xml/ru/GNUmakefile Thu Jul 02 14:23:39 2015 +0300 @@ -82,6 +82,7 @@ mail/ngx_mail_smtp_module \ mail/ngx_mail_ssl_module \ stream/ngx_stream_access_module \ + stream/ngx_stream_core_module \ stream/ngx_stream_limit_conn_module \ stream/ngx_stream_proxy_module \ stream/ngx_stream_ssl_module \ diff -r 3ae5301ea37a -r bcffd2161de7 xml/ru/docs/index.xml --- a/xml/ru/docs/index.xml Thu Jul 02 14:12:22 2015 +0300 +++ b/xml/ru/docs/index.xml Thu Jul 02 14:23:39 2015 +0300 @@ -476,8 +476,8 @@ - -ngx_stream_core_module [en] + +ngx_stream_core_module diff -r 3ae5301ea37a -r bcffd2161de7 xml/ru/docs/stream/ngx_stream_core_module.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/ru/docs/stream/ngx_stream_core_module.xml Thu Jul 02 14:23:39 2015 +0300 @@ -0,0 +1,307 @@ + + + + + + + + +
+ + +Модуль ngx_stream_core_module +доступен начиная с версии 1.9.0. +По умолчанию этот модуль не собирается, его сборку необходимо +разрешить с помощью конфигурационного параметра +--with-stream. + + +
+ + +
+ + + +worker_processes auto; + +error_log /var/log/nginx/error.log info; + +events { + worker_connections 1024; +} + +stream { + upstream backend { + hash $remote_addr consistent; + + server backend1.example.com:12345 weight=5; + server 127.0.0.1:12345 max_fails=3 fail_timeout=30s; + server unix:/tmp/backend3; + } + + server { + listen 12345; + proxy_connect_timeout 1s; + proxy_timeout 3s; + proxy_pass backend; + } + + server { + listen [::1]:12345; + proxy_pass unix:/tmp/stream.socket; + } +} + + + +
+ + +
+ + + + адрес:порт + [ssl] + [backlog=число] + [bind] + [ipv6only=on|off] + [reuseport] + [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]] + +server + + +Задаёт адрес и порт для сокета, +на котором сервер будет принимать соединения. +Можно указать только порт. +Кроме того, адрес может быть именем хоста, например: + +listen 127.0.0.1:12345; +listen *:12345; +listen 12345; # то же, что и *:12345 +listen localhost:12345; + +IPv6-адреса задаются в квадратных скобках: + +listen [::1]:12345; +listen [::]:12345; + +UNIX-сокеты задаются префиксом “unix:” + +listen unix:/var/run/nginx.sock; + + + + + +Параметр ssl указывает на то, что все соединения, +принимаемые на данном порту, должны работать в режиме SSL. + + + +В директиве listen можно также указать несколько +дополнительных параметров, специфичных для связанных с сокетами +системных вызовов. + + + +backlog=число + + +задаёт параметр backlog в вызове +listen, который ограничивает +максимальный размер очереди ожидающих приёма соединений (1.9.2). +По умолчанию backlog устанавливается равным -1 для +FreeBSD, DragonFly BSD и Mac OS X, +и 511 для других платформ. + + + +bind + + +параметр указывает, что для данной пары +адрес:порт нужно делать +bind отдельно. +Это нужно потому, что если описаны несколько директив listen +с одинаковым портом, но разными адресами, и одна из директив +listen слушает на всех адресах для данного порта +(*:порт), то nginx сделает +bind только на *:порт. +Необходимо заметить, что в этом случае для определения адреса, на которой +пришло соединение, делается системный вызов getsockname. +Если же используются параметры ipv6only +или so_keepalive, +то для данной пары +адрес:порт всегда делается +отдельный вызов bind. + + + +ipv6only=on|off + + +этот параметр определяет +(через параметр сокета IPV6_V6ONLY), +будет ли слушающий на wildcard-адресе [::] IPv6-сокет +принимать только IPv6-соединения, или же одновременно IPv6- и IPv4-соединения. +По умолчанию параметр включён. +Установить его можно только один раз на старте. + + + +reuseport + + +этот параметр (1.9.1) указывает, что нужно создавать отдельный слушающий сокет +для каждого рабочего процесса +(через параметр сокета SO_REUSEPORT), позволяя ядру +распределять входящие соединения между рабочими процессами. +В настоящий момент это работает только на Linux 3.9+ и DragonFly BSD. + +Ненадлежащее использование параметра может иметь +последствия +в плане безопасности. + + + + +so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt] + + +этот параметр конфигурирует для слушающего сокета +поведение “TCP keepalive”. +Если этот параметр опущен, то для сокета будут действовать +настройки операционной системы. +Если он установлен в значение “on”, то для сокета +включается параметр SO_KEEPALIVE. +Если он установлен в значение “off”, то для сокета +параметр SO_KEEPALIVE выключается. +Некоторые операционные системы поддерживают настройку параметров +“TCP keepalive” на уровне сокета посредством параметров +TCP_KEEPIDLE, TCP_KEEPINTVL и +TCP_KEEPCNT. +На таких системах (в настоящий момент это Linux 2.4+, NetBSD 5+ и +FreeBSD 9.0-STABLE) +их можно сконфигурировать с помощью параметров keepidle, +keepintvl и keepcnt. +Один или два параметра могут быть опущены, в таком случае для +соответствующего параметра сокета будут действовать стандартные +системные настройки. +Например, +so_keepalive=30m::10 +установит таймаут бездействия (TCP_KEEPIDLE) в 30 минут, +для интервала проб (TCP_KEEPINTVL) будет действовать +стандартная системная настройка, а счётчик проб (TCP_KEEPCNT) +будет равен 10. + + + + + + +Разные серверы должны слушать на разных парах +адрес:порт. + + + + + + + + адрес ... + [valid=время] + [ipv6=on|off] + +stream +server + + +Задаёт серверы DNS, используемые для преобразования имён вышестоящих серверов +в адреса, например: + +resolver 127.0.0.1 [::1]:5353; + +Адрес может быть указан в виде доменного имени или IP-адреса, +и необязательного порта. +Если порт не указан, используется порт 53. +Серверы DNS опрашиваются циклически. + + + +По умолчанию nginx будет искать как IPv4-, так и IPv6-адреса +при преобразовании имён в адреса. +Если поиск IPv6-адресов нежелателен, +можно указать параметр ipv6=off. + + + +По умолчанию nginx кэширует ответы, используя значение TTL из ответа. +Необязательный параметр valid позволяет это +переопределить: + +resolver 127.0.0.1 [::1]:5353 valid=30s; + + +Эта директива доступна как часть +коммерческой подписки. + + + + + + + +время +30s +stream +server + + +Задаёт таймаут для преобразования имени в адрес, например: + +resolver_timeout 5s; + + +Эта директива доступна как часть +коммерческой подписки. + + + + + + + + + +stream + + +Задаёт конфигурацию для сервера. + + + + + + + + +main + + +Предоставляет контекст конфигурационного файла, в котором указываются +директивы stream-сервера. + + + + +
+ +