nginx socket() failed (24: Too many open files)

张映 发表于 2019-10-16

分类目录: apache/nginx

标签:,

访问量的增大,相应nginx连接数,以及打开的文件数,是需要调整的,不然就会报以下错误

2019/10/10 16:04:37 [alert] 364127#0: *11935302 socket() failed (24: Too many open files) while connecting to upstream, client: 220.195.66.66, server:。。。。。。。。。。。。。。。。。

说正文前,先看一下,流量图

最近一周平均2000多万,一台nginx反代了四台

1,查看打开文件的限制

[root@namenode1 nginx]# ulimit -Hn  //硬
10240
[root@namenode1 nginx]# ulimit -Sn  //软
10240

这个配置已不够,要加大

2,加大可打文件的上限

[root@namenode1 nginx]# vim /etc/security/limits.conf  //尾部追回

* soft nofile 65535
* hard nofile 65535

[root@namenode1 nginx]# sysctl -p  //配置生效

*的意思是所有用户,也可以nginx soft nofile 65535,表示只调整nginx用户的打开文件上限。

重新登录或者重新ssh,ulimit -Hn才能看到变化

[root@namenode1 ~]# ulimit -Hn
65535
[root@namenode1 ~]# ulimit -Sn
65535

3,配置nginx

# vim /etc/nginx/nginx.conf

worker_rlimit_nofile 65535;  //添加

events {
    worker_connections 20480;   //修改
}

[root@namenode1 nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

[root@namenode1 nginx]# systemctl reload nginx

worker_connections这个参数,建议逐步加大。

重载后,error.log就没有报这个错误了



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/apachenginx/2201.html