摘要
设置Nginx处理连接请求
指令
accept_mutex
语法: accept_mutex [ on | off ]
Default: on
nginx 使用连接互斥锁进行顺序的accept()系统调用.
accept_mutex_delay
语法: accept_mutex_delay Nms;
默认: 500ms
如果一个进程没有互斥锁,它将延迟至少多长时间。默认情况下,延迟是500ms 。
debug_connection
语法: debug_connection [ip | CIDR]
默认: none
从 0.3.54 版本开始,这个选项支持 CIDR 格式的地址。
这个选项给你只为当前的IP或网段的客户端写调试日志的能力。
几种不同的指令是可能的。
例子:
- error_log /var/log/nginx/errors;events {debug_connection 192.168.1.1;}
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
默认:
当 rtsig
方法被使用的时候nginx 用两个信号。指令指定第一个信号的编号。第二个信号直接递增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指定传递给poll()的事件编号。编号默认值是16。
rtsig_overflow_test指定队列被耗尽后,被处理的事件的编号。编号默认值是32。
rtsig_overflow_threshold为Linux 2.4.x版本所独有。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时找出最适合系统的事件模型。
你可以在 这里 查看可用的事件模型以及如何在./configure时激活
worker_connections
语法: worker_connections number
默认:
通过worker_connections和worker_proceses可以计算出maxclients:
- max_clients = worker_processes * worker_connections
作为反向代理,max_clients为:
- max_clients = worker_processes * worker_connections/4
在默认情况下,一个浏览器打开2个链接到服务器时,Nginx在同一个连接池中使用 fds (文件描述符)连接到上游的后台。
转载本站内容时,请务必注明来自W3xue,违者必究。