星哥的博客

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

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

2011年6月24日 3647点热度 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去除“没有有效订阅”提示
Proxmox VE(PVE)6.X 添加硬盘
网站常用色系-web2.0色系 FineCMS v2大众版在AMH5无法链接数据库的解决办法 刷了openwrt后无线无法300M的解决方法 入手PlayBook CSS @media 适配代码 使用Memcached和内存缓存加速插件Batcache为WordPress提速
标签聚合
驱动 群晖 PVE MTP CMS FineCMS DSM 虚拟机

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

Theme Kratos Made By Seaton Jiang

陕ICP备13007295号