(一)问题现象:
nginx性能优化修改nginx核心文件配置nginx.conf,将worker_connections 1024改为worker_connections 4096,重载后不生效,最大限制数还是1024。
(二)版本说明:
(三)问题分析:
(1)由于Linux系统文件打开句柄数open files 1024限制了worker_connections。
(2)由于nginx的worker_rlimit_nofile限制了worker_connections。
(四)问题处理:
问题(1)处理方法:如果系统文件打开句柄数是1024,需要修改系统文件打开句柄数,再重载nginx -s reload或重启service nginx restart服务。
1)检查系统句柄数ulimit -n查看open files大小
2)修改系统文件打开句柄数的几种方法
方法一:增加文件打开句柄数:
vi /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
添加完后exit,退出,重新连接ssh即生效
ulimit -a 查看
方法二:临时修改生效
ulimit -n 65535
方法三:写入环境变量生效
vi /etc/profile
ulimit -u 65535
ulimit -n 65535
3)检查配置文件nginx.conf修改是否正确
#部署方式各异可能有所不同
4)重载nginx -s reload或重启service nginx restart服务
#部署方式各异可能有所不同
问题(2)处理方法:在问题(1)的基础上,nginx修改worker_connections后仍然不生效,需要修改worker_rlimit_nofile参数,再重载nginx -s reload或重启service nginx restart服务。
1)修改nginx核心配置文件nginx.conf
#配置worker进程最大打开文件数
worker_rlimit_nofile 65535;
events {
#单个进程允许的客户端最大连接数
worker_connections 4096;
}
2)检查配置文件nginx.conf修改是否正确
4)重载nginx -s reload或重启service nginx restart服务
(五)问题验证:
检查nginx状态无worker_connections错误信息