nginx 报错 accept4 () failed (24: Too many open files)

关于nginx的连接数过多的优化

这两天服务器一直被人打,在nginx的报错日志里面发现了一大堆的,文件数打开太多的错误

nginx报错accept4() failed (24: Too many open files)

于是加了防御后,顺便去优化一下nginx,
运行如下命令,先对服务器当前设置的文件数查看

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

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

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

那么根据这修改打开文件数量的上限,在/etc/security/limits.conf文件里,最后加上

* soft nofile 300000
* hard nofile 300000

然后重启nginx 推出重进

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 2
JasonG

请问一下,加了防御是指做了什么措施呢?

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!