最近查看nginx日志,总是报如下错误: 21974#0: *3188937 failed (24: Too many open files), server: imlqw.com 碰到这样的问题如何修复? Linux / Unix 设置了软硬文件句柄和打开文件的数目,你可以使用’ulimit’命令来查看这些限制 ulimit -Hn ulimit -Sn 在Linux系统级别上提高打开文件的限制 nginx服务器可以打开的文件数量受你操作系统的限制,你可以轻松地修复这个问题by setting or increasing system open file limits 。编辑文件/etc/sysctl.conf, 键入: vi /etc/sysctl.conf 追加或者修改下面的行: fs.file-max = 70000 保存并关闭文件,编辑 /etc/security/limits.conf, 键入: vi /etc/security/limits.conf 像下面这样为所有用户设置软硬限制: * soft nofile 10000 * hard nofile 30000 保存并关闭,最后重新载入sysctl命令,以使以上改变生效: sysctl -p nginx worker_rlimit_nofile Option (在nginx级别上提高打开的文件句柄限制) nginx也有同样的限制,可以通过worker_rlimit_nofile来增加此限制数量。 来设置被nginx进程最大文件打开的数量,编辑nginx.conf文件,键入: vi /usr/local/nginx/conf/nginx.conf (视你的配置文件的位置而定) 追加或者编辑: worker_rlimit_nofile 30000; 保存并关闭文件,重新加载nginx配置,并重新执行开始查看软硬限制的命令: ulimit -Hn ulimit -Sn 输入示例: 30000 10000
Nginx failed Too many open files
Nginx打开文件太多,如何解决这个问题,有两个方面需要修改。一个是Linux文件句柄的限制,另外一个是Nginx自身的配置限制。
猜你喜欢
转载自0001111.iteye.com/blog/1420747
今日推荐
周排行