nginx [alert] 12339#0: 1024 worker_connections are not enough
进一步分析报错原因,具体步骤如下:
l 查看这两台系统最大的允许文件打开数
[root@nginx01 logs]# cat /proc/sys/fs/file-max
343927
l 通过ulimit -n命令可以查看目前该linux系统里打开文件描述符的最大值
[root@nginx01 logs]# ulimit -n
20480
检查到这里,目前系统最大的打开文件数,我们配置了20480,可以说,这其实是一个比较“大”的连接数,应该能够满足要求了。接下来,我们去查看nginx这个服务中,其自身的连接数是否配置合理?
l 一般来说,nginx的连接数,有以下两个参数决定,分别是:worker_rlimit_nofile 和worker_connections。
n worker_rlimit_nofile,这个参数表示当一个nginx进程打开的最多文件数目,它的理论值应该是打开文件描述符的最大值(ulimit –n)与nginx进程数相除,但是ngixn分配请求并不是那么均匀,所以一般与 ulimint –n的值保持一致。
根据上述ulimit –n结果,我们对该值可以配置20480。事实上,我们也的确给它配了20480
n worker_connections,这个参数表示每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为 worker_processes * worker_connections, 其中,因为这两台ngixn系统均是4cpu,所以worker_processes参数=4。 而查看worker_connections,我们发现,配置的是默认的1024, 也就是说,这两台nginx服务器最大的连接数不能超过4096(含报错连接数、已结束未回收的连接数),而之前的报错“[alert] 12339#0: 1024 worker_connections are not enough”,大致意思是:12339(个数)并发连接已经超过了打开文件的资源限制:1024!
此外, 你修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值。
鉴于上述两点,我们只需配置worker_connections=5000, 那么nginx的最大连接数=worker_connections(5000)* worker_processes(4)=20000,该值大于12339
修改两台nginx.conf配置文件中的worker_connections = 5000 (原来为1024),并重启nginx
nginx [alert] 12339#0: 1024 worker_connections are not enough的更多相关文章
- Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Openssl 1.1.0e + Mariadb 10.1.22 + Nginx 1.12.0 + PHP 7.1.4 + Laravel 5.4 )
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...
- Centos7 编译安装 Nginx Mariadb Asp.net Core2 (实测 笔记 Centos 7.3 + Openssl 1.1.0h + Mariadb 10.3.7 + Nginx 1.14.0 + Asp.net. Core 2 )
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...
- nginx安装http2.0协议
1.HTTP2协议 HTTP 2.0 的主要目标是改进传输性能,实现低延迟和高吞吐量.从另一方面看,HTTP 的高层协议语义并不会因为这次版本升级而受影响.所有HTTP 首部.值,以及它们的使用场景都 ...
- nginx报错 nginx: [alert] kill(25903, 1) failed (3: No such process)
当nginx 中报错 时 nginx报错 nginx: [alert] kill(25903, 1) failed (3: No such process) 通过在nginx/sbin,目录下 运行命 ...
- Ubuntu 16.04 LTS 安装配置 Nginx 1.10.0 Php7.0-FPM
1. 安装Nginx,Php-7.0 ~$ sudo add-apt-repository ppa:nginx/stable ~$ sudo apt-get update ~$ sudo apt-ge ...
- Ubuntu 14.04 安装最新稳定版Nginx 1.6.0
如果已经安装,请先卸载sudo apt-get remove nginx最新的稳定版Nginx 1.6.0在ubuntuupdates ppa库中提供,网址http://www.ubuntuupdat ...
- centos7+nginx 1.9.0+php-fpm+phpstorm+xdebug+vmware开发环境搭建
1.php-fpm yum install php-fpm 默认配置在本地9000端口监听 service php-fpm restart启动 2.nginx 1.9.0 需先安装gcc zlib o ...
- CentOS 6.5 + Nginx 1.8.0 + PHP 5.6(with PHP-FPM) 负载均衡源码安装 之 (二)PHP(PHP-FPM)安装篇
编译安装PHP及内置PHP-FPM nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端(浏览器). nginx一般是把请 ...
- Ubuntu 16.04源码编译安装nginx 1.10.0
一.下载相关的依赖库 pcre 下载地址 http://120.52.73.43/jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.t ...
随机推荐
- redis 系列26 Cluster高可用 (1)
一.概述 Redis集群提供了分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故障转移功能.在大数据量方面的高可用方案,cluster集群比Sentinel有优势.但Redis集群并不支持处 ...
- mac用户丢失管理员身份急救
用了这么久mac,发现居然还存在这么大一个bug.就是如果你曾经编辑mac电脑默认用户资料,比如试图改用户名.试图改HOME路径之类的,有很高比率可能导致该用户丧失管理员权限. 随后悲剧就开始了,所有 ...
- 【Java基础】【04循环语句&方法】
04.01_Java语言基础(循环结构概述和for语句的格式及其使用) A:循环结构的分类 for,while,do...while B:循环结构for语句的格式: for(初始化表达式;条件表达式; ...
- 如何用sysbench做好IO性能测试
sysbench 是一个非常经典的综合性能测试工具,通常都用它来做数据库的性能压测,但也可以用来做CPU,IO的性能测试.而对于IO测试,不是很推荐sysbench,倒不是说它有错误,工具本身没有任何 ...
- flume 1.8.0 开发基础
本文由云+社区发表 作者:皮皮熊 概述 Apache Flume是一个用于高效地从大量异构数据源收集.聚合.传输到一个集中式数据存储的分布式.高可靠.高可用的系统. Apache Flume是Apac ...
- tomcat 大并发报错 Maximum number of threads (200) created for connector with address null and port 80
1.INFO: Maximum number of threads (200) created for connector with address null and port 80 说明:最大线程数 ...
- Linux几个常用的目录结构
记录几个个人觉得需要了解的目录结构含义: /lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件. /media: linux系统会自动识别一些设备,例如U盘.光驱 ...
- C# 如何添加PPT背景(纯色背景、渐变色背景、图片背景)
我们在创建Powerpoint文档时,系统默认的幻灯片是空白背景的,很多时候我们需要自定义幻灯片背景,以达到美观的文档效果.在下面的示例中将介绍给PowerPoint幻灯片设置背景的方法,主要包含以下 ...
- C#添加PDF页眉——添加文本、图片到页眉
页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...
- Java开发笔记(三十七)利用正则串分割字符串
前面介绍了处理字符串的常用方法,还有一种分割字符串的场景也很常见,也就是按照某个规则将字符串切割为若干子串.分割规则通常是指定某个分隔符,根据字符串内部的分隔符将字符串进行分割,例如逗号.空格等等都可 ...