Mercurial > hg > nginx-site
comparison xml/ru/docs/mail/ngx_mail_core_module.xml @ 1488:0a1c5a087556
Documented bind/ipv6only/ssl/so_keepalive in mail listen directive.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Mon, 25 May 2015 13:22:48 +0300 |
parents | 42f288fc9ad3 |
children | 9f9b8543b946 |
comparison
equal
deleted
inserted
replaced
1487:269e8de8765a | 1488:0a1c5a087556 |
---|---|
8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> | 8 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> |
9 | 9 |
10 <module name="Модуль ngx_mail_core_module" | 10 <module name="Модуль ngx_mail_core_module" |
11 link="/ru/docs/mail/ngx_mail_core_module.html" | 11 link="/ru/docs/mail/ngx_mail_core_module.html" |
12 lang="ru" | 12 lang="ru" |
13 rev="4"> | 13 rev="5"> |
14 | 14 |
15 <section id="summary"> | 15 <section id="summary"> |
16 | 16 |
17 <para> | 17 <para> |
18 По умолчанию этот модуль не собирается, его сборку необходимо | 18 По умолчанию этот модуль не собирается, его сборку необходимо |
71 <section id="directives" name="Директивы"> | 71 <section id="directives" name="Директивы"> |
72 | 72 |
73 <directive name="listen"> | 73 <directive name="listen"> |
74 <syntax> | 74 <syntax> |
75 <value>адрес</value>:<value>порт</value> | 75 <value>адрес</value>:<value>порт</value> |
76 [<literal>bind</literal>]</syntax> | 76 [<literal>ssl</literal>] |
77 [<literal>bind</literal>] | |
78 [<literal>ipv6only</literal>=<literal>on</literal>|<literal>off</literal>] | |
79 [<literal>so_keepalive</literal>=<literal>on</literal>|<literal>off</literal>|[<value>keepidle</value>]:[<value>keepintvl</value>]:[<value>keepcnt</value>]]</syntax> | |
77 <default/> | 80 <default/> |
78 <context>server</context> | 81 <context>server</context> |
79 | 82 |
80 <para> | 83 <para> |
81 Задаёт <value>адрес</value> и <value>порт</value> сокета, на котором сервер | 84 Задаёт <value>адрес</value> и <value>порт</value> сокета, на котором сервер |
99 </example> | 102 </example> |
100 | 103 |
101 </para> | 104 </para> |
102 | 105 |
103 <para> | 106 <para> |
104 Необязательный параметр <literal>bind</literal> | 107 Параметр <literal>ssl</literal> указывает на то, что все соединения, |
108 принимаемые на данном порту, должны работать в режиме SSL. | |
109 </para> | |
110 | |
111 <para> | |
112 В директиве <literal>listen</literal> можно также указать несколько | |
113 дополнительных параметров, специфичных для связанных с сокетами | |
114 системных вызовов. | |
115 <list type="tag"> | |
116 | |
117 <tag-name> | |
118 <literal>bind</literal> | |
119 </tag-name> | |
120 <tag-desc> | |
105 указывает, что для данной пары | 121 указывает, что для данной пары |
106 <value>адрес</value>:<value>порт</value> нужно делать | 122 <value>адрес</value>:<value>порт</value> нужно делать |
107 <c-func>bind</c-func> отдельно. | 123 <c-func>bind</c-func> отдельно. |
108 Дело в том, что если описаны несколько директив <literal>listen</literal> | 124 Это нужно потому, что если описаны несколько директив <literal>listen</literal> |
109 с одинаковым портом, но разными адресами, и одна из директив | 125 с одинаковым портом, но разными адресами, и одна из директив |
110 <literal>listen</literal> слушает на всех адресах для данного порта | 126 <literal>listen</literal> слушает на всех адресах для данного порта |
111 (<literal>*:</literal><value>порт</value>), то nginx сделает | 127 (<literal>*:</literal><value>порт</value>), то nginx сделает |
112 <c-func>bind</c-func> только на <literal>*:</literal><value>порт</value>. | 128 <c-func>bind</c-func> только на <literal>*:</literal><value>порт</value>. |
113 Необходимо заметить, что в этом случае для определения адреса, на который | 129 Необходимо заметить, что в этом случае для определения адреса, на который |
114 пришло соединение, делается системный вызов <c-func>getsockname</c-func>. | 130 пришло соединение, делается системный вызов <c-func>getsockname</c-func>. |
131 Если же используются параметры <literal>ipv6only</literal> | |
132 или <literal>so_keepalive</literal>, | |
133 то для данной пары | |
134 <value>адрес</value>:<value>порт</value> всегда делается | |
135 отдельный вызов <c-func>bind</c-func>. | |
136 </tag-desc> | |
137 | |
138 <tag-name> | |
139 <literal>ipv6only</literal>=<literal>on</literal>|<literal>off</literal> | |
140 </tag-name> | |
141 <tag-desc> | |
142 этот параметр определяет | |
143 (через параметр сокета <c-def>IPV6_V6ONLY</c-def>), | |
144 будет ли слушающий на wildcard-адресе <literal>[::]</literal> IPv6-сокет | |
145 принимать только IPv6-соединения, или же одновременно IPv6- и IPv4-соединения. | |
146 По умолчанию параметр включён. | |
147 Установить его можно только один раз на старте. | |
148 </tag-desc> | |
149 | |
150 <tag-name> | |
151 <literal>so_keepalive</literal>=<literal>on</literal>|<literal>off</literal>|[<value>keepidle</value>]:[<value>keepintvl</value>]:[<value>keepcnt</value>] | |
152 </tag-name> | |
153 <tag-desc> | |
154 этот параметр конфигурирует для слушающего сокета | |
155 поведение “TCP keepalive”. | |
156 Если этот параметр опущен, то для сокета будут действовать | |
157 настройки операционной системы. | |
158 Если он установлен в значение “<literal>on</literal>”, то для сокета | |
159 включается параметр <c-def>SO_KEEPALIVE</c-def>. | |
160 Если он установлен в значение “<literal>off</literal>”, то для сокета | |
161 параметр <c-def>SO_KEEPALIVE</c-def> выключается. | |
162 Некоторые операционные системы поддерживают настройку параметров | |
163 “TCP keepalive” на уровне сокета посредством параметров | |
164 <c-def>TCP_KEEPIDLE</c-def>, <c-def>TCP_KEEPINTVL</c-def> и | |
165 <c-def>TCP_KEEPCNT</c-def>. | |
166 На таких системах (в настоящий момент это Linux 2.4+, NetBSD 5+ и | |
167 FreeBSD 9.0-STABLE) | |
168 их можно сконфигурировать с помощью параметров <value>keepidle</value>, | |
169 <value>keepintvl</value> и <value>keepcnt</value>. | |
170 Один или два параметра могут быть опущены, в таком случае для | |
171 соответствующего параметра сокета будут действовать стандартные | |
172 системные настройки. | |
173 Например, | |
174 <example>so_keepalive=30m::10</example> | |
175 установит таймаут бездействия (<c-def>TCP_KEEPIDLE</c-def>) в 30 минут, | |
176 для интервала проб (<c-def>TCP_KEEPINTVL</c-def>) будет действовать | |
177 стандартная системная настройка, а счётчик проб (<c-def>TCP_KEEPCNT</c-def>) | |
178 будет равен 10. | |
179 </tag-desc> | |
180 | |
181 </list> | |
115 </para> | 182 </para> |
116 | 183 |
117 <para> | 184 <para> |
118 Разные серверы должны слушать на разных парах | 185 Разные серверы должны слушать на разных парах |
119 <value>адрес</value>:<value>порт</value>. | 186 <value>адрес</value>:<value>порт</value>. |