view xml/ru/docs/events.xml @ 2034:7e7edf832099

Added the generated ngx_http_api_module and separate target for it. This avoids unnecessary build steps and dependencies. The separate 'genapi' target is added to regenerate the ngx_http_api_module from yaml source. The generated file is not removed during 'clean' step.
author Vladimir Homutov <vl@nginx.com>
date Fri, 08 Sep 2017 13:58:41 +0300
parents 7e983e0199eb
children 4aead463a7e2
line wrap: on
line source

<!--
  Copyright (C) Igor Sysoev
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">

<article name="Методы обработки соединений"
         link="/ru/docs/events.html"
         lang="ru"
         rev="6">

<section>

<para>
nginx поддерживает различные методы обработки соединений.
Наличие того или иного метода зависит от используемой платформы.
Если на платформе доступно сразу несколько методов, nginx обычно
сам выбирает наиболее эффективный метод.
Однако, при необходимости можно явно выбрать метод обработки
соединений с помощью директивы
<link doc="ngx_core_module.xml" id="use"/>.
</para>

<para>
Поддерживаются следующие методы обработки соединений:
<list type="bullet">

<listitem id="select">
<para>
<literal>select</literal>&mdash;стандартный метод.
Модуль для поддержки этого метода собирается автоматически,
если на платформе не обнаружено более эффективного метода.
Можно принудительно разрешить или запретить сборку этого модуля
с помощью параметров <literal>--with-select_module</literal> и
<literal>--without-select_module</literal>.
</para>
</listitem>

<listitem id="poll">
<para>
<literal>poll</literal>&mdash;стандартный метод.
Модуль для поддержки этого метода собирается автоматически,
если на платформе не обнаружено более эффективного метода.
Можно принудительно разрешить или запретить сборку этого модуля
с помощью параметров <literal>--with-poll_module</literal> и
<literal>--without-poll_module</literal>.
</para>
</listitem>

<listitem id="kqueue">
<para>
<literal>kqueue</literal>&mdash;эффективный метод, используемый
во FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 и macOS.
</para>
</listitem>

<listitem id="epoll">
<para>
<literal>epoll</literal>&mdash;эффективный метод, используемый
в Linux 2.6+.
<note>
Флаги <literal>EPOLLRDHUP</literal> (Linux 2.6.17, glibc 2.8)
и <literal>EPOLLEXCLUSIVE</literal> (Linux 4.5, glibc 2.24)
поддерживаются начиная с 1.11.3.
</note>
<note>
В некоторых старых дистрибутивах, например SuSE 8.2,
есть патчи для поддержки epoll ядром 2.4.
</note>
</para>
</listitem>

<listitem id="devpoll">
<para>
<literal>/dev/poll</literal>&mdash;эффективный метод, используемый
в Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+
и Tru64 UNIX 5.1A+.
</para>
</listitem>

<listitem id="eventport">
<para>
<literal>eventport</literal>&mdash;event ports, метод,
используемый в Solaris 10+ (из-за имеющихся проблем вместо него
рекомендуется использовать метод <literal>/dev/poll</literal>).
</para>
</listitem>

</list>
</para>

</section>

</article>