现在的位置: 首页 > IT运维 > 正文

FastCGI无法启动的故障处理案例

2010年08月19日 IT运维 ⁄ 共 595字 评论数 3 ⁄ 被围观 3,076+

今天遇到一个奇怪的FastCGI进程无法启动的故障,经过n多分析和尝试后,发现php-fpm.log文件大于2GB,删除该日志文件后FastCGI进程正常启动!

FastCGI进程无法启动的时候,日志中的记录只有rlimit与系统ulimit文件数不一致的报告,而该错误一般不会造成进程不启动的故障。将系统配置改到一致也未能解决。后来发现无论重启或再次启动FastCGI进程,日志文件php-fpm.log大小均无变化且修改日期不变化,而且文件大小刚好为2GB,关键是这个文件大小太奇怪,遂将日志文件临时改名,然后再次启动FastCGI进程,启动成功!聖騎天下之后将原日志文件换回,FastCGI再次无法启动,这样反复操作之后验证了日志文件的大小是导致FastCGI进程无法启动的直接原因!

问题分析:FastCGI调用的是fopen方式去读写日志文件,而fopen不支持2G以上文件,所以后续的工作不再继续进行,出错直接退出。而日志文件一般不会这么大,一般不会出现此情况,而本案例恰好因为文件数限制不一致,导致日志文件不断增长,达到了fopen的2GB文件读写限制,所以才会出现该故障。所以,要根除该故障,就要将日志中出现的错误和告警都消除,本案例中就是要将rlimit和系统的最大允许打开文件数ulimit设置到一致,使得日志文件大小不会异常增常就可以了。

目前有 3 条留言 其中:访客:2 条, 博主:1 条

  1. 幸福空间 : 2010年08月21日10:21:16  -49楼

    博客做的不错,有时间来我的博客看看!


  2. 管理员
    聖騎天下 : 2010年08月19日23:51:56  -48楼

    哈哈,那是帮朋友查的他的网站的情况...

  3. coralzd : 2010年08月19日09:47:27  -47楼

    受教了,不过,还是要养成仔细的习惯!

给我留言

您必须 [ 登录 ] 才能发表留言!

×
#