Nginx反向代理并发能力的强弱,直接影响到系统的稳定性。安装Nginx过程,默认配置并不涉及到过多的并发参数,作为产品运行,不得不考虑这些因素。Nginx作为产品运行,官方建议部署到Linux64位系统,基于该建议,本文中从系统线之上考虑Nginx的并发优化。
1、打开Linux系统epoll支持
epoll支持,能够大大提高系统网络IO的并发数。
2、Linux文件句柄数限制
Nginx代理过程,将业务服务器请求数据缓存到本地文件,再将文件数据转发给请求客户端。高并发的客户端请求,必然要求服务器文件句柄的并发打开限制。
使用ulimit命令,查看Linux系统文件句柄并发限制。
$ ulimit -n
1024
Linux系统默认设为1024,我们需要将该值设为65535。
修改系统文件/etc/security/limits.conf,添加如下信息,并重新启动系统生效。
* soft nofile 65535
* hard nofile 65535
$ sudo vi /etc/security/limits.conf
3、Nginx配置文件中,添加文件限制及连接数信息
worker_rlimit_nofile 65535;
events {
use epoll;
worker_connections 65535;
}
Nginx并发数受限,通常引起502错误,完成上述操作,通常情况都能解决。
--------------------------------------分割线 --------------------------------------
CentOS 6.2实战部署Nginx+MySQL+PHP
搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
CentOS 6.3下配置Nginx加载ngx_pagespeed模块
CentOS 6.4安装配置Nginx+Pcre+php-fpm
--------------------------------------分割线 --------------------------------------