星哥的博客

  • 首页
  • 系统
  • 虚拟机
  • 网站开发
  • 硬件外设
  • VPS/云主机
  • 心情随笔
  1. 首页
  2. 网站开发
  3. Nginx
  4. 正文

解决由于文件句柄打开数限制设置不当引起Nginx 502 Bad Gateway问题

2011年6月24日 4878点热度 2人点赞 0条评论

最近遇到一个奇怪的Nginx 502 Bad Gateway问题,经检查设置都很正常,但就是网站运行1-2天后自动502,头大了一圈,昨天无意间检查php-fpm的日志,发现了很多报错

Jun 23 07:44:10.440697 [NOTICE] fpm_children_make(), line 352: child 18460 (pool default) started

类似与这样的,查过网上的资源,认为是php线程打开文件句柄受限导致的错误。具体的解决的办法如下:

1、提升服务器的文件句柄打开打开

# vi /etc/security/limits.conf 末尾加上
* soft nofile 51200
* hard nofile 51200

2、提升nginx的进程文件打开数

nginx.conf  修改
worker_rlimit_nofile 51200;

events
{
use epoll;
worker_connections 51200;
}

3、修改php-fpm.conf文件,主要需要修改2处。

命令 ulimit -n 查看限制的打开文件数,php-fpm.conf 中的选项rlimit_files 确保和此数值一致。
<value name="max_requests">10240</value>
<value name="rlimit_files">51200</value>

4、指定可以分配的文件句柄的最大数目

# vi /etc/sysctl.conf 末尾添加
fs.file-max=51200

其中51200也可以改为其他数字,一般引用51200和65535,完成以上修改,重启PHP,再次检查php-fpm日志不再增加,502 Bad Gateway也消失了,OK搞定。

附ulimit修改方式:

使用ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。

新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到error: too many open files。因此,需要将其改大。

使用 ulimit -n 65535 可即时修改,但重启后就无效了。(注ulimit -SHn 65535 等效 ulimit -n 65535,-S指soft,-H指hard)

有如下三种修改方式:

1.在/etc/rc.local 中增加一行 ulimit -SHn 65535
2.在/etc/profile 中增加一行 ulimit -SHn 65535
3.在/etc/security/limits.conf最后增加如下两行记录
* soft nofile 65535
* hard nofile 65535

具体使用哪种,试试哪种有效吧,我在 CentOS中使用第1种方式无效果,使用第3种方式有效果,而在Debian中使用第2种有效果

标签: 暂无
最后更新:2011年7月2日

wangxingcs

这个人很懒,什么都没留下

点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

wangxingcs

这个人很懒,什么都没留下

我的博客

仅记录一些有用的教程,自己的经历,已屏蔽各大搜索引擎收录。

新浪微博 @wangxingcs

Twitter @wangxingcs(常在)

最新 热点 随机
最新 热点 随机
Proxmox VE(PVE)6.X 添加硬盘 PVE解决VM is locked问题 Proxmox VE配置更新源 黑群晖显示真实CPU信息(支持7.0.1) Proxmox VE直通硬盘(全盘映射方式) PVE去除“没有有效订阅”提示
CentOS 6.X 最小化安装之后需要做的配置 android-apktool 中文使用说明 【转】利用Google API让wordpress每篇文章快速生成QR二维码 bw_moudle模块设置apache限速 PVE去除“没有有效订阅”提示 ProxmoxVE添加E1000e网卡(可升级群晖6.2.2)
标签聚合
CMS 群晖 FineCMS MTP 虚拟机 DSM 驱动 PVE

COPYRIGHT © 2015-2023 wangxingcs.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

陕ICP备13007295号