Connection processing methods
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_moduleconfiguration 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_moduleconfiguration 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