Skip to content
Go back

Nginx “Too many open files”错误解决办法

最近发现生产服nginx产生一些errorr日志:Too many open files…

出现这个错误一般是,打开文件数量限制不够导致,可以调整worker_rlimit_nofile解决。这里理解一下worker_connections,worker_rlimit_nofile等概念。

基本概念:

举个栗子🌰

worker_processes 4;

worker_rlimit_nofile 400000;
  
events {  
    worker_connections 65535;
} 

解释:

每个worker进程最大连接数为65535,每个worker进程最大打开文件数量为400000。4个worker最大连接数为655354,打开文件数量为4000004。

注意:

worker_connections不能超过系统打开socket限制:

ulimit -n
65535

worker_rlimit_nofile * worker_processes < 系统可打开文件总数

cat /proc/sys/fs/file-max
3143478

参考文档:

http://nginx.org/en/docs/ngx_core_module.html https://www.oschina.net/translate/nginx-setup?print


Share this post on:

Previous Post
PHP 运行机制和 LNMP 架构
Next Post
Windows部署go exe应用笔记