Nginx中worker connections问题的解决方法
查看日志,有一个[warn]: 3660#0: 20000 worker_connections are more than open file resource limit: 1024 !!
原来安装好nginx之后,默认最大的并发数为1024,如果你的网站访问量过大,已经远远超过1024这个并发数,那你就要修改worker_connecions这个值 ,这个值越大,并发数也有就大。当然,你一定要按照你自己的实际情况而定,也不能设置太大,不能让你的CPU跑满100%。
所以,当你修改提高了配置文件中的worker_connections值,然后重启nginx,你就会在日志里发现,最前面我们讲到的这一个warn警告提示,大概的意思就是: 20000并发连接已经超过了打开文件的资源限制:1024!在这种情况下,我们就要修改配置文件,添加一行来解除这个限制,这就好像是apache中的ServerLimit。
打开配置文件在"event"这行上面添加这一行:
worker_rlimit_nofile xxxxx; ####Specifies the value for maximum file descriptors that can be opened by this process.
注意:设置了这个后,你修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值,不然又会有前面的那个warn提示。
保存配置文件,退出重启nginx。
如果nginx 中worker_connections 值设置是1024,worker_processes 值设置是4,按反向代理模式下最大连接数的理论计算公式:
最大连接数 = worker_processes * worker_connections/4
查看相关资料,生产环境中worker_connections 建议值最好超过9000,计划将一台nginx 设置为10240,再观察一段时间。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Nginx worker_connections配置太低导致500错误案例
最近一次安全培训,需要用到安全攻防平台,结果30几个人登录上去直接爆出500错误.不知道什么原因,后来找来SSH登录用户,密码,逐步排查,发现了Nginx worker_connections配置问题. 原来是Nginx配置文件中的worker_connections配置太低,只有50,导致与php-fpm交互过程中超出了connections限制,出现了500错误.直接将此参数的值改成10240就解决了此问题.
-
Nginx中worker connections问题的解决方法
查看日志,有一个[warn]: 3660#0: 20000 worker_connections are more than open file resource limit: 1024 !! 原来安装好nginx之后,默认最大的并发数为1024,如果你的网站访问量过大,已经远远超过1024这个并发数,那你就要修改worker_connecions这个值 ,这个值越大,并发数也有就大.当然,你一定要按照你自己的实际情况而定,也不能设置太大,不能让你的CPU跑满100%. 所以,当你修改提高了配置
-
nginx 代理后出现503的解决方法
目录 问题: 解决思路: 问题: 配置serve_name后,并且在hosts中添加对应的映射,重新启动nginx后,不生效 解决思路: 1.serve_name设不设置,启动nginx后,都能通过localhost或者windows10.microdone.cn访问: 2.根据这个问题,查看网络配置: 操作步骤:1).win+r,输入regedit: 2).查看注册表: 计算机\HKEY_ _CURRENT_ _USER\Software\Microsoft\Windows\CurrentVe
-
nginx could not build the server_names_hash 解决方法
nginx "nginx could not build the server_names_hash"解决方法 给一个服务器下增加了一些站点别名,差不多有20多个. 重启nginx时候,提示: could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32 解决方法: 在配置文件的http{}段增加一行配置 server_names_hash_bucket_size
-
基于多进程中APScheduler重复运行的解决方法
问题 在一个python web应用中需要定时执行一些任务,所以用了APScheduler这个库.又因为是用flask这个web框架,所以用了flask-apscheduler这个插件(本质上与直接用APScheduler一样,这里不作区分). 在开发中直接测试运行是没有问题的,但是用gunicorn部署以后发生了重复运行的问题: 每个任务在时间到的时刻会同时执行好几遍. 注意了一下重复的数量,恰恰是gunicorn里配置的worker进程数量,显然是每个worker进程都启动了一份schedu
-
php中unserialize返回false的解决方法
本文实例讲述了php中unserialize返回false的解决方法,分享给大家供大家参考.具体方法如下: php 提供serialize(序列化) 与unserialize(反序列化)方法. 使用serialize序列化后,再使用unserialize反序列化就可以获取原来的数据. 先来看看如下程序实例: <?php $arr = array( 'name' => 'fdipzone', 'gender' => 'male' ); $str = serialize($arr); //序
-
关于验证码在IE中不刷新的快速解决方法
今天在做验证码的时候发现在IE中,验证码不会刷新,而谷歌等其他浏览器没有问题,所以我想到应该是缓存问题,因为IE默认的设置是如果访问地址没变化就不会去获取而是加载缓存中的内容 所以解决方案就是在验证码的切换地址后面加一个随机的参数 例如: <script> //换验证码 function changeimg(){ /* math.random范围是0-1 *999变成0-999 +3000 就是3000-3999 */ var time=Math.round(Math.random()*999
-
Python中MYSQLdb出现乱码的解决方法
本文实例讲述了Python中MYSQLdb出现乱码的解决方法,分享给大家供大家参考.具体方法如下: 一般来说,在使用mysql最麻烦的问题在于乱码. 查看mysql的编码: 命令: 复制代码 代码如下: show variables like 'character_set_%'; 可以看到如下结果: character_set_client为客户端编码方式: character_set_connection为建立连接使用的编码: character_set_database数据库的编码: ch
-
过滤Android工程中多余资源文件的解决方法
本文以实例讲述了过滤Android工程中多余资源文件的解决方法,很有实用价值!具体描述如下: 很多开发人员在Android项目开发过程中经常会遇到这样的情况:界面开发人员发布了一个新版本的资源包,不过有的图片名称改了,有的图片删掉了,可是在实现的时候开发人员只是把新的资源覆盖到原来的资源文件夹中,随着版本的发布,在drawable或values中积累的无用资源越来越多,直到最后发布正式版的时候再想要删除这些多余的文件,于是不得不一个一个文件检查看是否有用,再决定要不要删除之. 有鉴于此,很有必要
-
PHP 5.6.11中CURL模块问题的解决方法
按照网上的教程写了一个cURL的小例子,在apache环境下执行,一点反应也没有,放在IIS环境里就ok的,感觉问题一定出在动态连接库上,因为配置文件里的php_curl.dll已经打开了,而且在iis上ok: 网上找了一些解决方案: 设置了[环境变量]:phpext,PHPRC:无效 把php_curl.dll 放到apache/bin下:无效 检查了一下apache/bin目录下也有这两个libeay32.dll,ssleay32.dll个文件:没问题 最后试了一下,把当前php根目录下的l
-
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
本文实例讲述了thinkphp,onethink和thinkox中验证码不显示的解决方法.分享给大家供大家参考,具体如下: 使用验证码的时候,一开始正常,后来不显示了 网上说是utf-8的编码问题,什么bom去掉,转化为无bom的格式 我都试了,没用 后来知道是在调用验证码的地方 写上 Public function verify(){ import('ORG.Util.Image'); Image::buildImageVerify(); } 改成这样就行了: Public function
随机推荐
- golang中make和new的区别示例详解
- 给IE加个参数 永远不怕IE主页被修改
- JavaScript中实现PHP的打乱数组函数shuffle实例
- Flex CategoryAxis 字体样式修改
- SQL为查询的结果加上序号(ROW_NUMBER) 合并多个查询结果
- Python设计足球联赛赛程表程序的思路与简单实现示例
- [asp]怎么添加验证码的解决方法
- JavaScript图片轮播代码分享
- jQuery实现监控页面所有ajax请求的方法
- 批处理版的SC
- php文件读取方法实例分析
- 用flash as脚本 控制 Flash中文本框样式的代码
- http自动跳转https的配置方法
- Android UI设计系列之自定义ViewGroup打造通用的关闭键盘小控件ImeObserverLayout(9)
- js的闭包的一个示例说明
- 使用Python+Splinter自动刷新抢12306火车票
- python使用TensorFlow进行图像处理的方法
- 详解JavaScript的变量
- python pandas库的安装和创建
- react+django清除浏览器缓存的几种方法小结