我有一个用Codeigniter制作的网站,在Ubuntu上使用Nginx和PHP-FPM运行.
它工作正常,直到昨晚,当它开始加载页面真的很慢,有时给504,其他时间快速加载页面.
如果我重新启动nginx或php-fpm,该网站工作正常20-30秒,然后问题再次发生.
这是nginx错误日志所说的:
[error] 25226#25226: *65 upstream timed out (110: Connection timed
out) while reading response header from upstream,client: X.X.X.X,
server: www.mydomain.ext,request: “GET / HTTP/1.1”,upstream:
“fastcgi://unix:/var/run/php/php5.6-fpm.sock:”,host:
“www.mydomain.ext”
在过去的几个小时里,我一直在谷歌搜索和玩nginx和php-fpm配置,但我无法解决它.
有谁知道如何帮助我?
最佳答案
对我来说,这似乎是FPM流程管理的一个问题.有关更多信息,请参见此link.看起来你有可用于php-fpm的静态进程数,流量超过它.我遇到了类似的问题,但我不记得这是否是当时的确切错误消息.但是这种行为就像你解释的那样,有些连接真的很慢(等待fpm?)其他的都是504.
更新:
要确认我的理论,你应该检查文件/etc/php5.6/pool.d/www.conf并检查这一行:
pm.max_children = X
增加数量并重新启动fpm.然后看问题是否解决了.