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
今天又是愉快的一天,奥利给~~~