Apache(2.4.25 FPM / FastCGI)在我的wordpress多站点网站上停止响应并崩溃了一段时间。
出于某种原因,它曾经运行好几天,直到我使用此脚本github.com/interconnectit/Search-Replace-DB更改了wordpress(mu)域(可能不是原因)。
重新启动时,它可以工作大约一个小时,然后再次窒息。
我添加了一个mysql慢查询日志,但它是空的。
Apache error_log有多个错误,如下所示:
[Wed Sep 06 08:50:27.941819 2017] [proxy_fcgi:error] [pid 25444:tid 140610719610624] (70007)The timeout specified has expired: [client x.x.x.x:53398] AH01075: Error dispatching request to : (polling)
偶尔也会出现此错误:
[Wed Sep 06 09:13:33.296777 2017] [core:notice] [pid 10710:tid 140611211331392] AH00051: child pid 25582 exit signal Segmentation fault (11), possible coredump in /opt/bitnami/apache2
另一个偶然的错误(预期由于多个AH01075超时错误):
[Mon Sep 04 20:18:58.758718 2017] [mpm_event:error] [pid 19928:tid 140675798046528] AH00484: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
停止mysql服务器会杀死我的网站,但似乎让apache保持正常工作,至少在一两个小时内我一直在测试。
以下进程列表中的mysqld.bin的457452值是否正常? (ps -e -orss =,args = | sort -b -k1,1n | pr -TW $ COLUMNS)
2128 /sbin/init
2400 php-fpm: master process (/opt/bitnami/php/etc/php-fpm.conf)
3840 -bash
4244 sshd: ubuntu [priv]
6928 /usr/bin/gonit
11036 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
11320 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
11364 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
11592 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
20592 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
57668 php-fpm: pool wordpress
57716 php-fpm: pool wordpress
65252 php-fpm: pool wordpress
67608 php-fpm: pool wordpress
68776 php-fpm: pool wordpress
457452 /opt/bitnami/mysql/bin/mysqld.bin --defaults-file=/opt/bitnami/mysql/my.cnf --basedir=/opt/bi
PHP Version 5.6.30
mysql.bin Ver 14.14 Distrib 5.6.36
Ubuntu 14.04.5(AWS上的bitnami图像)
apache没有响应时的内存使用情况:使用:883mb的992mb
php.ini脚本memory_limit = 128M
答案 0 :(得分:1)
将它放在评论中有点长,所以回答作为答案。
您是否记录任何php错误?从你到目前为止所呈现的,我的理论将是:
如果我的理论是正确的,你应该。
检查没有任何mysql数据损坏
检查mysql中替换的数据是否符合预期
检查PHP错误日志,因为他们应该记录一些内容。
如果单独清理数据不够,您应该隔离实际上导致堵塞的PHP进程并将其删除。理想情况下,无论数据有多糟糕,php程序都应该干净利落地死去。