首先运行:
su -nginx
然后运行:
ulimit -Hn
ulimit -Sn
这几条命令可以查看软硬文件句柄和打开文件数目,然后我们就可以提升打开文件的数目. 编辑 /etc/sysctl.conf:
vi /etc/sysctl.conf
追加或者修改下面的行:
fs.file-max = 70000
保存并关闭文件. 编辑 /etc/security/limits.conf:
vi /etc/security/limits.conf
修改成类似下面的样子:
nginx   soft   nofile   10000
nginx   hard  nofile   30000
这里设置的就是软硬文件句柄和打开文件数目,保存关闭后运行sysctl命令:
sysctl -p
这样我们做的修改会即使生效. nginx也有类似的设置:
vi /usr/local/nginx/conf/nginx.conf (视你的配置文件的位置而定)
追加或者编辑:
worker_rlimit_nofile   30000;
保存并关闭文件,重新加载nginx配置,并重新执行开始查看软硬限制的命令:
su - nginx
ulimit -Hn
ulimit -Sn
#反馈:
30000
10000
最后设置nginx的一个参数:
worker_rlimit_nofile   30000;
这样我们就解决了Nginx: 24: Too Many Open Files这个错误.