2013年8月23日星期五

文件数限制引起 404 错误

    CODER @ 我说访问页面会间隔出现 404 现象,服务器上的配置都是一样的,而且之前
测试过,都是正常的,怎么突然又来了个 404 呢。 查原因吧, 看了一下, php 和 nginx
都还活着,再检查了一下网站文件目录,也都正常。因为后端做的是 upstream,看 nginx
的日志的时候,发现该请求对应的某一个 IP 上会出现 404 。上到那台机器上检查 PHP 日
志: 看到如下错误:

 Warning: readfile(./404.html)  function.readfile]: failed to open stream:
 Too many open files in ../func.global.php on line 202.

看到 Too many files ,就知道是 ulimit 的限制原因了, ulimit -n 看了一下是默认的1024。
于是修改 /etc/security/limits.conf 。默认没有设置,所以添加一行:
      *  -  nofile   51200
保存。

PS:用 ulimit 命令修改,只能让当前的终端生效,因为涉及到PHP 程序来访问系统的文件,所以
需要改配置文件。另外最好是同样修改其它机器上的配置,保持一致,出问题容易查。

没有评论:

发表评论