Nginx + php-fpm随机挂起

时间:2017-04-21 09:50:21

标签: php codeigniter nginx

我有一个用Codeigniter制作的网站,在Ubuntu上使用Nginx和PHP-FPM运行。 它工作正常,直到昨晚,它开始加载页面真的很慢,有时给504,其他时间加载页面快。

如果我重新启动nginx或php-fpm,该网站可以正常工作20-30秒,然后再次出现问题。

这是nginx错误日志所说的:

  

[错误] 25226#25226:* 65上游超时(110:连接定时   从上游读取响应头,客户端:X.X.X.X,   服务器:www.mydomain.ext,请求:“GET / HTTP / 1.1”,上游:   “fastcgi:// unix:/var/run/php/php5.6-fpm.sock:”,主持人:   “www.mydomain.ext”

过去几个小时我一直在谷歌搜索和玩nginx和php-fpm配置,但我无法解决它。

有谁知道如何帮助我?

2 个答案:

答案 0 :(得分:1)

对我来说,这似乎是FPM流程管理的一个问题。有关详细信息,请参阅此link。看起来你有可用于php-fpm的静态进程数,流量超过它。我遇到了类似的问题,但我不记得这是否是当时的确切错误消息。但是行为就像你解释的那样,有些连接真的很慢(等待fpm?)其他的连接都是504.

更新: 要确认我的理论,您应该检查文件/etc/php5.6/pool.d/www.conf并检查以下行:

pm.max_children = X

增加数量并重新启动fpm。然后看问题是否解决了。

答案 1 :(得分:0)

尝试如下修改您的配置:

'%'

重新启动fpm,您的问题应该得到解决。