nginx异常 [alert] 940#940: 768 worker_connections are not enough 解决

Posted theshy1103

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx异常 [alert] 940#940: 768 worker_connections are not enough 解决相关的知识,希望对你有一定的参考价值。

  今天有用户反馈客户端的很多请求都失败了,响应状态码是500。 登录到服务器查看, flask日志里并未报异常。怀疑异常请求并未进入flask应用,而是直接由nginx返回了。

  于是,屁颠屁颠的去查看nginx的日志。果然在nginx的error日志里看到了大量的报错信息: [alert] 940#940: 768 worker_connections are not enough

 技术图片

  第一次碰到这种错误,开启谷歌模式。。。参考了博客,对这个异常有了大概的认识。个人理解这个错误的含义是: nginx的每个工作进程允许768个外部连接是不够的。既然不够的话,咱们就把它调大点试试呗。但是这个值不能随便设置,主要是受内存和进程最大可打开文件数。 其中进程最大可打开文件数受制于操作系统。在linux系统上可通过命令:"ulimit -n" 命令查看。

技术图片

 之前是1024, 现在是65535。

  哈哈,重点来了~~~接下来尝试去调整 worker_connections 的值。 修改nginx的配置文件: sudo vim /etc/nginx/nginx.conf, 果然看到  "worker_connections 768"。有意思,跟nginx日志里的错误对上了。

技术图片

   将 "worker_connections 768" 改为 "worker_connections 20000"(这个值的大小可以根据业务需求调整)。再次测试,nginx里便没有报错了,此时客户端老哥也反馈http请求都正常了,没有500状态码了。问题完美解决。

  感谢如下老哥的分享,灰常感谢:https://blog.csdn.net/zhuyu19911016520/article/details/90714429

  今天又是愉快的一天,奥利给~~~

以上是关于nginx异常 [alert] 940#940: 768 worker_connections are not enough 解决的主要内容,如果未能解决你的问题,请参考以下文章

nvidia 940m这个显卡怎么样?

850和940红外发射管的区别

为啥音频单元在带闪电插头的耳机下每帧收集 940 字节

Socket 754, 940 & 939处理器安装指南

CF940F Machine Learning

CodeForces - 940E Cashback