最新文章:

首页 工作简记

解决Nginx报错“worker_connections are not enough while connecting to upstream”

发布时间:2025年07月05日 评论数:抢沙发 阅读数:12

    今天在服务器(树莓派4B)里配置部署近700个演示网站,配置完成后NGINX启动失败,

    站点数量降到500个左右时能正常启动,也能正常被访问到!

    站点配置文件都是脚本批量生成的,而且不管移除哪些站点,只要数量降到500个左右就能正常启动,不是配置文件出错!

    肯定也不是nginx本身的问题吧,

    树莓派性能被榨干了?,这还没启动,都还没开始榨,肯定还有余粮的!开干吧...


    大致错误显示如下:

    socket() [xxx]:xx failed (24: Too many open files) while connecting to upstream
    accept4() failed (24: Too many open files)
    worker_connections are not enough while connecting to upstream
    问题有了,答案就在百度里,找吧!

    ...

    .....

    .......


    各种测试后得到解决:

    1、修改:/etc/nginx/nginx.conf

    	worker_processes auto;
    	worker_rlimit_nofile 65535; # 增加行
    	events {
            	worker_connections 2048; # 增加值
            	multi_accept on;    # 启用
    	}
    


    2、修改:/etc/security/limits.conf

    	* soft nofile 65535	# 增加行
    	* hard nofile 65535	# 增加行

    3、修改:/lib/systemd/system/nginx.service

    	[Service]
    	Type=forking
    	LimitNOFILE=65535	# 增加行

    4、重启NGINX服务或重启服务器,轻松解决


    引用查找到的原因:

    Nginx报错“worker_connections are not enough while connecting to upstream”是由于并发连接数超过当前配置限制导致的性能瓶颈问题,

    可通过调整nginx配置参数、优化系统资源及上游服务响应速度等方法解决。‌ 

    问题原因与核心解决方案‌  该错误表明Nginx工作进程的并发连接数(worker_connections)已超出配置上限。

    默认情况下,此参数通常设置为512或1024,当流量激增或上游服务器响应延迟时,会导致连接池耗尽。‌‌

    典型场景:在性能压测中,当单台Tomcat的QPS达到600时,Nginx因worker_connections不足触发此错误,将参数从1024提升至10240后恢复正常。‌‌

二维码加载中...
本文作者:帆子      文章标题: 解决Nginx报错“worker_connections are not enough while connecting to upstream”
本文地址:http://www.hy01.cn/worker_connections.html
版权声明:若无注明,本文皆为“梁鹏程个人主页-帆子博客”原创,转载请保留文章出处。
召唤伊斯特瓦尔