nginx 报错 accept4 () failed (24: Too many open files) --- 2020-04-11

关于 nginx 的连接数过多的优化
这两天服务器一直被人打,在 nginx 的报错日志(error.log)里面发现了一大堆的,文件数打开太多的错误

优化一下 nginx,
运行如下命令,先对服务器当前设置的文件数查看

root@iZj6cj2eq1jzcj0fzwz7f5Z:~# ulimit -Hn
65535
root@iZj6cj2eq1jzcj0fzwz7f5Z:~# ulimit -Sn
65535

返回的结果是 65535,这个不够用,那么我就修改一下
修改之前,先确认一下系统的上限是多少

root@iZj6cj2eq1jzcj0fzwz7f5Z:~# sysctl -n -e fs.file-max
398462

注意:这个系统最大上限是可以修改的
系统上限修改方案:
系统级打开最大文件句柄的数量永久生效的修改方法,修改文件,文件末尾加入配置内容:

# vim /etc/sysctl.conf
fs.file-max = 2000000
然后执行命令,使修改配置立即生效:

sysctl -p

完美解决调整最大上限


那么根据这修改打开文件数量的上限,在 /etc/security/limits.conf 文件里,最后加上
  • soft nofile 300000
  • hard nofile 300000
然后重启 nginx 推出重进

你可能感兴趣的:(nginx 报错 accept4 () failed (24: Too many open files) --- 2020-04-11)