Nginx: Too Many Open Files解决方案汇总


在做Nginx高压力测试时,偶尔某台WEB的logs抛出Too Many Open Files,一般从以下3方面调优:

第一:nginx.conf参数规划与设置

worker_rlimit_nofile :限制单个工作进程打开的最大文件数:

首先查看这个值设置,推荐设置:越大越好

第二:系统级别的检查与设置

就是 /etc/security/limits.conf的配置与修改,请参考Linux系统资源限制汇总

第三:内核级别的检查与设置:

fs.file-max值的大小设置:

注意:file-max的默认值大概是系统内存的10%(系统内存以kb计算),别设置的比系统默认的还小大笑

在合理规划以上3个层次的设置后,必须做验证:

1.验证nginx程序的限制

# ps -ef |grep nginx

将得出的PID XXX带入下面

#cat /proc/XXX/limits

查看Max open files 那一行

2.验证系统级别的限制

# ulimit -n 

3.验证内核级别的限制

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

--------------------------------------分割线 --------------------------------------

CentOS 6.2实战部署Nginx+MySQL+PHP

使用Nginx搭建WEB服务器

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程

CentOS 6.3下Nginx性能调优

CentOS 6.3下配置Nginx加载ngx_pagespeed模块

CentOS 6.4安装配置Nginx+Pcre+php-fpm

Nginx安装配置使用详细笔记

Nginx日志过滤 使用ngx_log_if不记录特定日志

--------------------------------------分割线 --------------------------------------

Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里

本文永久更新链接地址:

相关内容