Nginx 支持多种连接处理方法。特定方法的可用性取决于所使用的平台。在支持多种方法的平台上, Nginx 通常会自动选择最有效的方法。但是如果有必要的话,可以使用 use 指令显式地选择连接处理方法。
支持以下连接处理方法:
☆ select —— 标准方法。支持模块是在缺乏更有效方法的平台上自动构建的。
--with-select_module 和 --without-select_module 配置参数可用于强制启用或禁用此模块的生成。
☆ poll —— 标准方法。支持模块是在缺乏更有效方法的平台上自动构建的。
--with-poll_module 和 --without-poll_module 配置参数可用于强制启用或禁用此模块的生成。
☆ kqueue —— 在 FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0, macOS有效。
☆ epoll —— 在 Linux 2.6+ 有效。
The EPOLLRDHUP (Linux 2.6.17, glibc 2.8) and EPOLLEXCLUSIVE (Linux 4.5, glibc 2.24)
flags are supported since 1.11.3.
一些较老的发行版(如SuSE 8.2)提供补丁,将epoll支持添加到2.4内核中。
☆ /dev/poll —— 在 Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+,
and Tru64 UNIX 5.1A+ 有效。
☆ eventport —— 事件端口, 在 Solaris 10+ (由于存在已知的问题,建议使用 /dev/poll 代替) 有效。