我被要求帮助一个 Drupal 7 网站,我之前曾多次帮助调整该网站。问题是,大多数网站页面都没有显示,而是显示“内部服务器错误”500 页面(从 5 月 6 日开始)。但也有一些例外(这些页面加载正常):
/user (but not /user/1 for example)
/admin
/admin/content
/admin/structure
/admin/appearance
/admin/people
/admin/modules (but not /admin/config or /admin/reports)
(可能这些并不是全部的例外,但我还不知道其他的)
现在,这是我所知道的(我没有完全的根访问权限,但我可以请求访问某些资源):
PHPMyAdmin 显示每分钟有超过 10K 个请求(84% 是
select
,6% 是删除,6% 是插入,...)。顺便说一句,它还显示它是在 5 月 7 日启动的(可能是管理员重新启动了它)httpd access_log 由如下几行组成(为了便于阅读,我将其分成两行)
::1 - - [13/May/2020:02:07:32 +0300] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.4.16 (internal dummy connection)"
除了这些之外没有其他内容(不过那段时间我尝试打开过几次网站);这些内容的添加频率大约为每秒 5-20 行
httpd error_log 主要由如下几行组成
[Wed May 13 09:16:09.487641 2020] [fcgid:warn] [pid 27860] mod_fcgid: process 25947 graceful kill fail, sending SIGKILL
而且添加频率更低:每小时约 10 次
处理器负载很高:CPU 消耗从 10% 到 75% 不等
/usr/bin/php-cgi php
(使用时可以看到/usr/bin/php-cgi php
;当我尝试加载页面时,使用率会增加,在我的手动测试中,我看到它从 10% 上升到 50%)
看起来 mod_fcgid 出了问题,但我不知道该如何调试和修复它。我也不明白为什么 access_log 不包含任何有关尝试打开页面(包括成功打开的页面)的条目。有人能帮忙吗?我该如何继续调试?