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 --with-select_module
and --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 --with-poll_module
and --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+.
TheEPOLLRDHUP
(Linux 2.6.17, glibc 2.8) andEPOLLEXCLUSIVE
(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-2020 Igor Sysoev
© 2011-2020 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/events.html