1.Nginx事件处理模块
select、poll、epoll、/dev/poll、eventport 都是 nginx 下的 IO 多路复用的机制
模块名称 | 模块说明 |
---|---|
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+上使用的有效方法 |
/dev/poll | 在Solaris 7 11/99 +,HP / UX 11.22+(事件端口),IRIX 6.5.15+和Tru64 UNIX 5.1A +上使用的有效方法 |
eventport | 事件端口,Solaris 10+上使用的/dev/poll方法(由于已知问题,不建议用该方法) |
2.设置nginx事件处理模块和最大连接数
#设置事件处理模块
vi /usr/loca/nginx/conf/nginx.conf
events {
use epoll;
multi_accept on;
worker_connections 102400;
}
#检查nginx配置是否有问题
nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
#重新加载nginx
nginx -s reload
参数名称 | 参数说明 |
---|---|
multi_accept | 是否开启同时接受多个网络请求 |
worker_connections | 最大连接数 = (worker_processes × worker_connections) ÷ 4 |
注意的值。一般情况下系统打开文件最大限制数、 worker_rlimit_nofile 、worker_connections 的三者值都是一样的。
不了解系统打开文件最大限制数和worker_rlimit_nofile,请参考以下链接:
请点击这里