worker_connections exceed open file resource limit: 1024

此警告的问题是受限于Linux的最大文件数限制

nginx.conf有设置文件数:10000

 

 

 

1、  修改/etc/security/limits.conf文件

添加下面信息

* soft noproc 65535

* hard noproc 65535

* soft nofile 65535

* hard nofile 65535

 

 

 

说明:用户,软限制/硬限制,限制选项,限制值

限制了任意用户的最大线程数和文件数为65535

2、修改/etc/pam.d/login文件,在文件中添加如下行:

session required /lib/security/pam_limits.so

告诉Linux在用户完成系统登录后,应该调用pam_limits.so模块来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的最大文件数限制),而pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值

3、修改/etc/rc.local文件,在脚本中添加如下行

echo “65535"> /proc/sys/fs/file-max

Linux在启动完成后强行将系统级打开文件数硬限制设置为65535

 4、验证

重启服务器

ulimit -a看看open files的值

 

 

 

cat /proc/<pid>/limits,pid可以用ps -ef | grep nginx 查看

 

 

 

 

粗暴的解决:ulimit -n xxxxx

posted @ 2022-04-29 10:34  leihongnu  阅读(790)  评论(0编辑  收藏  举报