连接处理方法
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+ 上使用的有效方法。从 1.11.3 版本开始支持
EPOLLRDHUP
(Linux 2.6.17, glibc 2.8) 和EPOLLEXCLUSIVE
(Linux 4.5, glibc 2.24) 标志。一些较旧的发行版,如 SuSE 8.2,提供了为 2.4 内核添加 epoll 支持的补丁。
-
/dev/poll
— 在 Solaris 7 11/99+、HP/UX 11.22+ (eventport)、IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+ 上使用的有效方法。 -
eventport
— 事件端口,在 Solaris 10+ 上使用的方法(由于已知问题,建议改为使用/dev/poll
方法)。