Open Source Nginx
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 Mac OS X.
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, efficient method
used on Solaris 10.