nginx 支持多种连接处理方式,每一种方式是否可用取决于所用的平台。在支持几种方式的平台上,nginx 会自动选择最有效的方式,然而,如果您需要明确指定使用哪一种方式,可以使用 use 指令指定。
支持以下集中处理方式:
- select,标准方式。当平台上缺乏其他有效的方式时自动构建。
--with-select-module
和-without-select_module
配置参数开启或者禁用此模块构建。 - poll,标准方式,当平台上缺乏其它有效的处理方式时自动构建此模块。
-with-poll_moudle
和-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 内核支持 epll 的补丁。
- /dev/poll,在 Solaris 7 11/99+,HP / UX 11.22+(eventport),IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+ 有效。
- eventport,事件端口,在 Solaris 10+ 有效(由于已知问题,推荐使用
/dev/poll
方式代替)。