pennate 发表于 2016-12-28 07:42:08

详细解释:nginx中事件模块(Events Module)配置及各个参数含义 .

  摘要
  控制Nginx处理连接的方式
  指令
  accept_mutex
  语法:accept_mutex [ on | off ]

默认值:on

Nginx使用连接互斥锁进行顺序的accept()系统调用
  accept_mutex_delay
  语法:accept_mutex_delay Nms;

默认值:500ms

如果一个进程没有互斥锁,它将至少在这个值的时间后被回收,默认是500ms
debug_connection
  语法:debug_connection

默认值:none

0.3.54版本后,这个参数支持CIDR地址池格式。

这个参数可以指定只记录由某个客户端IP产生的debug信息。

当然你也可以指定多个参数。


error_log /var/log/nginx/errors;
events {
debug_connection   192.168.1.1;
}
fffdgfdgfd
devpoll_changes
devpoll_events
kqueue_changes
kqueue_events

  epoll_events
语法:devpoll_changes

默认值:

这些参数指定了按照规定方式传递到或者来自内核的事件数,默认devpoll的值为32,其余为512。
  multi_accept
  语法:multi_accept [ on | off ]

默认值:off

multi_accept在Nginx接到一个新连接通知后调用accept()来接受尽量多的连接
  rtsig_signo
  语法:rtsig_signo

默认值:

Nginx在rtsig模式启用后使用两个信号,该指令指定第一个信号编号,第二个信号编号为第一个加1

默认rtsig_signo的值为SIGRTMIN+10 (40)。
  rtsig_overflow_events
  rtsig_overflow_test
  rtsig_overflow_threshold
  语法:rtsig_overflow_*

默认值:

这些参数指定如何处理rtsig队列溢出。当溢出发生在nginx清空rtsig队列时,它们将连续调用poll()和 rtsig.poll()来处理未完成的事件,直到rtsig被排空以防止新的溢出,当溢出处理完毕,nginx再次启用rtsig模式。

rtsig_overflow_events specifies指定经过poll()的事件数,默认为16

rtsig_overflow_test指定poll()处理多少事件后nginx将排空rtsig队列,默认值为32

rtsig_overflow_threshold只能运行在Linux 2.4.x内核下,在排空rtsig队列前nginx检查内核以确定队列是怎样被填满的。默认值为1/10,“rtsig_overflow_threshold 3”意为1/3。
use
  语法:use [ kqueue | rtsig | epoll | /dev/poll | select | poll | eventport ]

默认值:

如果你在./configure的时候指定了不止一个事件模型,你可以通过这个参数告诉nginx你想使用哪一个事件模型,默认情况下nginx在编译时会检查最适合你系统的事件模型。

你可以在这里看到所有可用的事件模型并且如果在./configure时激活它们。
worker_connections
  语法:worker_connections

默认值:

worker_connections和worker_proceses(见主模块)允许你计算理论最大连接数:

最大连接数 = worker_processes * worker_connections
  在反向代理环境下:

最大连接数 = worker_processes * worker_connections/4
  由于浏览器默认打开2个连接到服务器,nginx使用来自相同地址池的fds(文件描述符)与前后端相连接
页: [1]
查看完整版本: 详细解释:nginx中事件模块(Events Module)配置及各个参数含义 .