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--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+.The
EPOLLRDHUP
(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).