nginx支持多种连接处理模型。具体的模型取决于具体的平台。当一个平台支持多种模型时,nginx会自动选择最高效的模型。当然,可以通过use指令显示指定使用哪种模型。
下面是nginx支持的连接处理模型。
- select
标准模型。当平台缺乏更有效的模型时,该模块会自动构建。可以通过--with-select_module
和--without-select_module
配置参数强制启用和关闭构建该模块。 - poll
标准模型。当平台缺乏更有效的模型时,该模块会自动构建。可以通过--with-poll_module
和--without-poll_module
配置参数强制启用和关闭构建该模块。 - kqueue
在 FreeBSD 4.1+、OpenBSD 2.9+、BetBSD 2.0 和 MacOS平台上有效的模型。 - epoll
在 Linux 2.6+ 平台上有效的模型。
nginx 1.11.3 版本开始,支持
EPOLLRDHUP
和EPOLLEXCLUSIV
- /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)
use指令
Syntax: use method;
Default: —
Context: events
指定使用何种连接处理模型。无需显示指定,因为nginx会默认选择使用最佳的模型。
网友评论