nginx:accept() failed (24: Too many open files)解决方法

2023-10-31

有一台服务器访问量非常高,使用的是nginx ,错误日志不停报以下错误:

2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)

解决方法:

centos5.3 中 ulimit -n 为1024, 当Nginx连接数超过1024时,error.log中就出现以下错误:

[alert] 12766#0: accept() failed (24: Too many open files)

使用 ulimit -n 655350 可以把打开文件数设置足够大, 同时修改nginx.conf , 添加 worker_rlimit_nofile 655350; (与error_log同级别)

这样就可以解决Nginx连接过多的问题,Nginx就可以支持高并发。

另外, ulimit -n 还会影响到mysql 的并发连接数。把他提高,也就提高了mysql并发。

注意: 用ulimit -n 2048 修改只对当前的shell有效,退出后失效。

修改方法

若要令修改ulimits的数值永久生效,则必须修改配置文档,可以给ulimit修改命令放入/etc/profile里面,这个方法实在是不方便,

还有一个方法是修改/etc/security/limits.conf

/etc/security/limits.conf 格式,文件里面有很详细的注释,比如

* soft nofile 655360

* hard nofile 655360

星号代表全局, soft为软件,hard为硬件,nofile为这里指可打开文件数。

把以上两行内容加到 limits.conf文件中即可。

另外,要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:

session required /lib/security/pam_limits.so

修改完重新登录就可以见到效果,可以通过 ulimit -n 查看。

参考:

http://gfllove.blog.163.com/blog/static/1515027200923010653628/

http://loamy.javaeye.com/blog/380150


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx:accept() failed (24: Too many open files)解决方法 的相关文章

  • 如何用 UNION 运算符替换 OR 运算符?

    这是我的查询 SELECT h id h subject h body matnF h amount h keywords tags h closed h author id author h AcceptedAnswer h type h
  • MySQL用户创建的临时表已满

    我使用内存引擎创建了一个临时表 如下所示 CREATE TEMPORARY TABLE IF NOT EXISTS some text id INT DEFAULT 0 string varchar 400 DEFAULT engine m
  • C#:SQL 查询生成器类

    在哪里可以找到好的 SQL 查询构建器类 我只需要一个简单的类来构建 SQL 字符串 仅此而已 我需要它用于 C 和 MySql 我真的不需要像 Linq 或 NHibernate 这样的东西 谢谢 由于 Google 将我引导至此页面 我
  • MySQL 全文搜索不适用于某些单词,例如“house”

    我已经在 3 个字段中的一小部分记录上设置了全文索引 也尝试了 3 个字段的组合 并得到了相同的结果 有些单词返回结果很好 但某些单词如 house 和 澳大利亚 不这样做 有趣的是 澳大利亚 和 家乡 这样做 这似乎是奇怪的行为 如果我添
  • PHP PDO相关:更新SQL语句未更新数据库内容

    我正在尝试使用准备好的语句来实现更新语句PHP http en wikipedia org wiki PHP脚本 但它似乎没有更新数据库中的记录 我不确定为什么 所以如果您能分享一些见解 我将不胜感激 Code query UPDATE D
  • 如何将 MySQL 数据库更改为 UTC?

    我使用的是 Windows 7 对数据库方面的东西有点陌生 我尝试在 Google 上搜索如何将系统时区更改为 UTC 但文档有些高级 我不太确定如何更改此字段 在 my ini 文件的 mysqld 部分下 添加以下行 default t
  • 单行的总和值?

    我有一个 MySQL 查询 它返回由一系列 1 和 0 组成的单行 它用于进度条指示器 我现在在代码中对它进行求和 但我尝试对查询中的值求和 并意识到我无法使用 SUM 因为它们有很多列 但只有一行 有没有办法可以在查询中自动求和 就像这样
  • ActiveRecord3死锁重试

    Rails 3 或 ActiveRecord 3 是否有任何插件可以复制旧版本死锁重试 http agilewebdevelopment com plugins deadlock retry插入 或者 该插件仍然适用于 Rails 3 吗
  • Nginx 位置、别名、重写、根

    我正在通过 proxypass 提供 foo bar 服务 并希望继续这样做 但是 我想从 var www mystatic baz swf 等静态地提供 foo bar baz swf 服务 我希望我能做类似的事情 location fo
  • 如何在 phpmyadmin 中创建 MySQL 触发器

    我想在 MySQL 中创建一个触发器 我运行以下命令 mysql gt delimiter mysql gt CREATE TRIGGER before insert money BEFORE INSERT ON money gt FOR
  • Mysql innoDB 不断崩溃[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的数据库 mysql 服务器不断崩溃 重新启动 我不知道该怎么办 我不断在 dbname org err 文件中收到以下内容 13120
  • 为什么 MySQL 创建带有 _seq 后缀的表?

    我创建了一个 InnoDB 表 名为foo在 MySQL 中 一旦我对表执行插入操作 我就会看到另一个表foo seq被建造 如果我删除自动生成的表 它会在下一次插入后出现 是什么原因造成的 听起来像是正在创建一个序列 您是否有自动生成的主
  • nginx设置问题

    我知道这不是一个直接的编程问题 但是 stackoverflow 上的人似乎能够回答任何问题 我有一台运行 Centos 5 2 64 位的服务器 非常强大的双核 2 服务器 具有 4GB 内存 它主要提供静态文件 Flash 和图片 当我
  • 如何在 Laravel 查询中使用多个 OR,AND 条件

    我需要 Laravel 查询帮助 我的自定义查询 返回正确结果 Select FROM events WHERE status 0 AND type public or type private 如何写这个查询Laravel Event w
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • MySQL 使用 ALTER IGNORE TABLE 出现重复错误

    我的 MySQL 中有一个有重复项的表 我尝试删除重复项并保留一项 我没有主键 我可以通过以下方式找到重复项 select user id server id count as NumDuplicates from user server
  • 使用 aws elastic beanstalk 将非 www 重定向到 www

    我正在使用 Elastic Beanstalk 并按照说明使用 Express Web 服务器部署我的应用程序 如下所示 http docs aws amazon com elasticbeanstalk latest dg create
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • 将第三个表链接到多对多关联中的桥接表

    设计这个数据库的正确方法是什么 这是我设置表格的方式 我在名为 教师 的表和名为 仪器 的表之间存在多对多关系 然后我有一个连接两者的桥接表 我想将另一个表与 BRIDGE 表关联起来 意思是乐器 老师的组合 该表有 3 行 指定老师可以教

随机推荐

  • Android之通过BaseAdapter自定义适配器的使用

    通过BaseAdapter创建自定义适配器 在所有的适配器中 通过BaseAdapter定义的适配器非常好用 可以自定义ListView每行布局的样式 使用非常的广泛 是开发过程中必不可少的 下面看一个效果图 接下来一起来实现聊天列表 1
  • 在 ROS 中使用 Protobuf 替代 ros msg

    转自 https segmentfault com a 1190000012734275 Background 做 ROS 相关开发的 应该都知道 ros msg 有个非常大的槽点 ros msg 扩展性较差 即如果 msg 的字段发生变化
  • JAVA 输出一个会动的爱心

    以下是 Java 代码 可以在控制台输出一个会动的爱心 public class Love public static void main String args throws InterruptedException while true
  • 看完百度文心一言的魔性作图,我头都笑掉了...

    近日看到网友们用百度文心一言来作图 看了后我都愣住了 1 AI 作画 车水马龙 2 AI 作画 驴肉火烧 3 AI 作画 唐伯虎点秋香 4 AI 作画 鱼香肉丝 5 AI 作画 胸有成竹 6 AI 作画 夫妻肺片 7 AI 作画 红烧狮子头
  • 【GUI】Python图形界面(一)

    Python图形界面 一 第一个界面 1 了解模块代码的组成 导入库 PySimpleGUI 定义布局 确定行数 创建窗口 事件循环 关闭窗口 1 导入库 import PySimpleGUI as sg 2 定义布局 确定行数 layou
  • SharePreference原理

    SharedPreferences是Android提供的数据持久化的一种手段 适合单进程 小批量的数据存储与访问 因为SharedPreferences的实现是基于单个xml文件实现的 并且 所有持久化数据都是一次性加载到内存 如果数据过大
  • Error Handling with C++ Exceptions, Part 1

    by Chuck Allison Error Handling Alternatives With the traditional programming languages of yore a developer s alternativ
  • 电流电压曲线 vc源码_如何真正理解三极管伏安特性曲线在饱和区的含义

    初次学习三极管工作原理的时候 往往会对三极管的伏安特性曲线非常困惑 特别是饱和区的性质 本文就讨论这方面的内容 三极管的工作电路如图所示 图一 三极管工作电路 按照上述电路得出三极管的伏安特性如图所示 教科书中一般都这样描述三极管的三个工作
  • 快排算法实现

    找到分区点 把数组元素放到分区点两侧 再对分区点两侧数组进行排序 完成快排 同样递归实现快排 递归公式 递归终止条件 当所分区只有一个元素是 即元素下标相同时 递归终止 并返回 快排实现目的 对数组进行排序 实现过程 传递一个数组和数组起始
  • wangEditor富文本编辑器图片/视频上传

    wangEditor 有丰富的 API 和足够的扩展性 允许我们自定义开发菜单 模块 插件等 在Vue React中运用也很方便 因此本文介绍下vue中富文本上传图片和视频 安装引入后富文本有显示上传图片按钮 点击上传后会报没有配置上传地址
  • 14. TypeScript 自定义类型

    TypeScript 自定义类型 1 Diff实现 求两个对象不同的部分 let person1 name 123 age 11 address 456 let person2 address 123 type Diff
  • 基于Python+Pytest+Selenium的自动化测试之PO模式简介

    在实际的软件研发过程中 往往会存在项目时间紧张 待测工作量大 待测的功能点较多 但是团队测试人员有限 难以全部测试覆盖的问题 针对问题 我们可以通过自动化测试去解决一些测试工作中遇到的实际问题 把一些工作写成代码 交给机器去处理和执行 解放
  • java中常见的异常及处理方法

    1 java lang nullpointerexception 这个异常大家肯定都经常遇到 异常的解释是 程序遇上了空指针 简单地说就是调用了未经初始化的对象或者是不存在的对象 这个错误经常出现在创建图片 调用数组这些操作中 比如图片未经
  • Ajax基本案例详解之load的实现

    Ajax的load实现 看这篇之前建议大家去看看前面两篇文章 1 Ajax基本案例详解之 ajax的实现 2 Ajax基本案例详解之 get的实现 现在写一下 load 里面的主要内容 semail load doindex jsp ema
  • git恢复修改的文件

    文件修改后想反悔 三种情况 1 未进行任何操作 仅仅修改了文件 2 执行了git add将文件推到了暂存区 3 执行了git commit将文件推到了本地仓库 处理方法 针对情况1 只需要执行git checkout 文件名 情况2 首先g
  • linux常用命令汇总

    内存 cpu查看 free h 以合适内存单位显示内存情况 free s 数字 每几秒刷新内存显示 top 按e切换显示单位 防火墙 centos7 查看防火墙状态 firewall cmd state 停止firewall systemc
  • 服务器无法加载海康sdk依赖的问题

    首先遇到的jna jar和examples jar无法加载的问题 尝试了很多方法无效 以下方法实测有效 其次是动态链接库无法加载的问题 而且是播放库 我的方法比较简单 netsdk加载出来就行了 播放库用不到 删掉引用就行了 最后 我尝试了
  • Android程序员必备!Android学习笔记在互联网上火了,成功定级腾讯T3-2

    前言 2020年是转折的一年 上半年疫情原因 很多学android开发的小伙伴失业了 虽找到了一份工作 但高不成低不就 下半年金九银十有想法更换一份工作 很多需要大厂面试经验和大厂面试真题的小伙伴 想提前准备刷下题 接下来分享一份我的字节跳
  • 财务风险管理的内容

    财务风险管理的内容 一 筹资风险管理 筹资风险来源于两个方面 一是偿债风险 由于借入资金严格规定了借款方式 还款期限和还款金额 如果企业负债较多 而经营管理和现金管理不善 可能导致企业不能按期还本付息 就会产生偿债风险 偿债风险如不能通过财
  • nginx:accept() failed (24: Too many open files)解决方法

    有一台服务器访问量非常高 使用的是nginx 错误日志不停报以下错误 2010 05 26 08 53 49 alert 13576 0 accept failed 24 Too many open files 2010 05 26 08