![PHP-FPM 随机超时崩溃](https://linux22.com/image/678299/PHP-FPM%20%E9%9A%8F%E6%9C%BA%E8%B6%85%E6%97%B6%E5%B4%A9%E6%BA%83.png)
有人问过类似的问题,但似乎没有人能阐明这个问题。
我在 Ubuntu 14.04 上使用 PHP 5.6.18。它所在的服务器是一台办公室服务器,配备 8 核 CPU(不确定具体型号)和 8 GB RAM。这台服务器已经运行了大约 2.5 年,没有任何问题,我对其进行了维护,它最初在 Ubuntu 12.04 上使用较旧版本的 php,但随着时间的推移对其进行了升级。我上次进行更新大约是在 6 个月前,没有出现任何问题。
常规设置是 nginx 将请求传递给 apache 进行 cms 开发,并且我们有各种工作应用程序直接从 nginx 运行。
然而在过去的几天里,PHP-FPM(CLI/APACHE PHP 运行良好)似乎每 5 分钟左右就会崩溃一次,有时持续时间更长,甚至通常一夜之间都正常。服务器本身没有负载,日志仅显示 php 请求超时,然后不会处理任何进一步的请求,直到重新启动。
奇怪的是,最近没有对服务器进行任何操作,它只是在大约 3 天前随机启动,没有明显的原因。所有努力(重新安装 php/mysql、重新启动整个服务器等)都以失败告终。
这是我的主要 nginx 配置的一部分(我已经多次更改这些值并尝试了各种方法,现在大多数都已禁用)。
#client_header_timeout 600;
#client_body_timeout 600;
#fastcgi_read_timeout 600;
client_max_body_size 2048m;
#fastcgi_buffers 8 4k|8k;
#fastcgi_buffers 8 128k;
#fastcgi_buffer_size 128k;
#client_max_body_size 2048M;
send_timeout 900;
#fastcgi_read_timeout 3000;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
这是一个错误
upstream timed out (110: Connection timed out) while reading response header from upstream
我以前的超时时间大约为 10 分钟,考虑到它是一个仅供开发的服务器,这个方法效果很好,现在将它缩短到 60 秒,以便更快地出现错误。
还有人遇到过这种情况吗?或者知道一些我可能没有注意到的事情?