nginx 出错:socket() failed (24: Too many open files) while connecting to upstream

1. 错误描述

通过nginx负载两个节点的rabbitmq
当用java代码创建超过500个连接时(我的机器默认只能创建这么多),出现错误:

com.rabbitmq.client.ShutdownSignalException: connection error
java.net.SocketException: Software caused connection abort: recv failed

查看nginx日志/var/log/nginx/error.log,发现错误
socket() failed (24: Too many open files) while connecting to upstream

解决

  1. 修改linux打开文件句柄数,编辑vi /etc/security/limits.conf,添加
<domain>      <type>  <item>         <value>
*             soft   nofile          204800
*             hard   nofile          204800
  1. 修改nginx打开文件数, 编辑nginx.conf,添加worker_rlimit_nofile值
worker_processes  1;
worker_rlimit_nofile 20480;

重启nginx后问题解决

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值