nginx supports a variety of connection processing methods. The availability of a particular method depends on the platform used. On platforms that support several methods nginx will normally select the most efficient method automatically. However, if needed, a connection processing method can be selected explicitly with the use directive.
The following connection processing methods are supported:
select — standard method. The supporting module is built automatically on platforms that lack more efficient methods. The
--without-select_module configuration parameters can be used to forcibly enable or disable the build of this module.
poll — standard method. The supporting module is built automatically on platforms that lack more efficient methods. The
--without-poll_module configuration parameters can be used to forcibly enable or disable the build of this module.
kqueue — efficient method used on FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0, and macOS.
epoll — efficient method used on Linux 2.6+.
EPOLLRDHUP(Linux 2.6.17, glibc 2.8) and
EPOLLEXCLUSIVE(Linux 4.5, glibc 2.24) flags are supported since 1.11.3.
Some older distributions like SuSE 8.2 provide patches that add epoll support to 2.4 kernels.
/dev/poll — efficient method used on Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+, and Tru64 UNIX 5.1A+.
eventport — event ports, method used on Solaris 10+ (due to known issues, it is recommended using the
/dev/poll method instead).
© 2002-2017 Igor Sysoev
© 2011-2017 Nginx, Inc.
Licensed under the BSD License.