nginx [alert] 12339#0: 1024 worker_connections are not enough

问题主要几种在nginx连接数超过限制,导致的报错。

进一步分析报错原因,具体步骤如下:

l  查看系统最大的允许文件打开数

[[email protected] logs]# cat /proc/sys/fs/file-max

343927

2  通过ulimit -n命令可以查看目前该linux系统里打开文件描述符的最大值

[[email protected] logs]# ulimit -n

20480

检查到这里,目前系统最大的打开文件数,我们配置了20480,可以说,这其实是一个比较“大”的连接数,应该能够满足要求了,这就排除了因为系统最大文件数限制的原因。接下来,我们去查看nginx这个服务中,其自身的连接数是否配置合理?

l  一般来说,nginx的连接数,有以下两个参数决定,分别是:worker_rlimit_nofile和worker_connections。

a).worker_rlimit_nofile,这个参数表示当一个nginx进程打开的最多文件数目,它的理论值应该是打开文件描述符的最大值(ulimit –n)与nginx进程数相除,但是ngixn分配请求并不是那么均匀,所以一般与 ulimint –n的值保持一致。

根据上述ulimit –n结果,我们对该值可以配置20480。事实上,我们也的确给它配了20480

b).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 -s reload

时间: 2025-01-02 04:16:01

nginx [alert] 12339#0: 1024 worker_connections are not enough的相关文章

LNMP搭建(CentOS 6.3+Nginx 1.2.0+PHP 5.3.15(fpm)+ MySQL 5.5.35)

Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过三年了.Igor 将源代码以类BSD许可证的形式发布. 系统环境: # cat /etc/redhat-release CentOS release 6.3 (Final) 1.安装所需的第三方库 yum -y install gcc

nginx: [alert] kill(2480, 10) failed (3: No such process)的解决办法

[问题描述] 更改完nginx.conf文件后,执行/app/nginx/sbin/nginx -s reload命令重新加载配置文件,报以下错误信息: nginx: [alert] kill(2480, 10) failed (3: No such process) 提示没有相关进程. [解决] 其实这个问题很低级的说,就是我之前压根就没有启动nginx服务,执行/app/nginx/sbin/nginx,开启nginx服务后,重新加载nginx配置,一切正常! [附录] nginx帮助信息

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-get install nginx ~$ nginx -v nginx version: nginx/1.10.0 ~$ sudo apt-get install php ~$ php -v PHP 7.0.4-7ubuntu2.1 (cli) ( NTS ) Copyright (c) 1997-20

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 openssl pcre(yum install 即可,注意版本可能需要devel版的) wget http://nginx.org/download/nginx-1.9.0.tar.gz tar -zxvf nginx-1.9.0.tar.gz cd nginx-1.9.0进入解压后的目录 执行./

网站安全狗Nginx版V2.0发布 全方位防护网站安全

网站安全狗是安全狗旗下集网站内容安全防护.网站资源保护及网站流量保护功能为一体的安全防护软件,全面保护服务器上的网站安全,功能涵盖了网马/木马扫描.防SQL注入.防盗链.防CC攻击.网站流量实时监控.网站CPU监控.下载线程保护.IP黑白名单管理.网页防篡改功能等.能够为用户提供实时的网站安全防护,避免各类针对网站的攻击所带来的危害.目前已保护超过100万个网站. 今年5月,安全狗发布了网站安全狗Nginx版V1.0,该版本弥补了之前安全狗在Nginx上的空白,并提供了多项防护功能.但对于一直追

nginx: [alert] kill(1668, 1) failed (3: No such process)的解决办法及nginx服务常用命令总结

[问题描述] 更改完nginx.conf文件后,执行/application/nginx/sbin/nginx -s reload命令重新加载配置文件,报以下错误信息: nginx: [alert] kill(1668, 1) failed (3: No such process) 提示没有相关进程. [解决] 其实这个问题很低级的说,就是我之前压根就没有启动nginx服务,执行/app/nginx/sbin/nginx,开启nginx服务后,重新加载nginx配置,一切正常! [nginx服务

nginx 升级为最新版 nginx -1.12.0

公司目前使用的nginx版本比较低(nginx-1.0.12),请网络安全公司做了一下"远程安全评估",发现有下列漏洞: nginx URI处理安全限制绕过漏洞(CVE-2013-4547) Nginx 'access.log'不安全文件权限漏洞(CVE-2013-0337) nginx SSL会话固定漏洞(CVE-2014-3616) nginx resolver 拒绝服务漏洞(CVE-2016-0747) nginx resolver 拒绝服务漏洞(CVE-2016-0742) n

CentOs6.5 + Nginx 1.6.0 + Node.js0.9.0 + Mongodb配置

添加非root用户 under root permision adduser wedate passwd wedate-> input the new password chmod u+w /etc/sudoers vim /etc/sudoers 添加 wedate     All=(ALL)      ALL 在root之后(首先搜索到root) :wq chmod u-w /etc/sudoers  安装必要的包依赖 更新系统所需的包 yum update  下载nginx(目前稳定版)

解决 重启nginx: [alert] kill(189, 1) failed (3: No such process)

解决 nginx: [alert] kill(189, 1) failed (3: No such process) [[email protected]/]# nginx -s reloadnginx: [alert] kill(189, 1) failed (3: No such process)  杀死189进程,可是并没有[[email protected] /]# whereis ngnixngnix:[[email protected]/]# [[email protected] /