nginx提示:Too many openfiles这种错误问题的原因是因为linux文件系统最大可打开文件数为1024而你的nginx中的error.log出现大量的Too many open files,说明文件句柄不够用了所以就错误提示出来了。

如果nginxerror.log出现大量的Too many open files,说明文件句柄不够用了,这时候我们需要加大系统的文件句柄数和nginx的允许最大的连接数。

 

默认情况下linux文件系统最大可打开文件数为1024,对于一个应用于生产环境下的服务器来说,这个设置太下,例如在用nginxweb服务器,当并发达到一定数量时,可以看到error.log里出现大量的“Nginx accept() failed (24: Too many open files) 错误。解决这个问题的办法有两种:

 

方法一:

使用ulimit -n 655350 把打开文件上限设置为655350,同时还需要修改nginx的配置文件,把worker_rlimit_nofile  worker_connections 值设置为一样。

 

方法二:

/etc/security/limits.conf文件中添加如下信息:

        

* soft nofile 655360

* hard nofile 655360

重启系统生效