【发布时间】:2017-12-07 12:37:26
【问题描述】:
所以,长话短说,最新版本的 Apache 导致我的特定设置出现一些错误,所以我快速升级到 PHP 7.1.6,切换到 mpm-event,并开始使用 PHP- FPM。我猜它可能也在那里的某个地方重新安装了 MySQL。
升级后,我的 WordPress 网站的前端看起来相对不错。管理仪表板有时还可以——但每隔一段时间就会尝试发布一个新页面,或者做一些类似的事情,它会无限期地挂起。如果我重新启动 Apache,它会重新引起注意,但重启服务似乎可以解决问题。
在此期间,我的网站前端也将开始挂起,直到我重新启动 Apache。
显然,我的配置有问题,但我很难确定它是什么。我网站的前端速度非常快,直到我在后端做了一些决定将其全部停止的事情。
我一直在检查我能想到的每一个错误日志,但是当发生这种情况时,我在 apache2 错误日志中看不到任何事情发生。据我所知,我启用了 PHP-fpm 错误日志记录,但我也没有看到任何显示。
我如何才能弄清楚此时出了什么问题?
任何帮助将不胜感激。我已经花了至少 15 个小时试图弄清楚这一点,但进展为零。
谢谢各位。
php -v
PHP 7.1.6-1~ubuntu16.04.1+deb.sury.org+1 (cli) (built: Jun 9 2017 08:26:34) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.1.6-1~ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies
apache2 -v
Server version: Apache/2.4.26 (Ubuntu)
Server built: 2017-06-30T08:42:23
/var/log/apache2/error.log -- 不报告任何错误。
/var/log/fpm-php.www.log -- 为空。
/var/log/mysql.err -- 空。
/var/log/mysql.log -- 空。
/var/log/php7.1-fpm.log
[04-Jul-2017 02:08:40] NOTICE: fpm is running, pid 741
[04-Jul-2017 02:08:40] NOTICE: ready to handle connections
[04-Jul-2017 02:08:40] NOTICE: systemd monitor interval set to 10000ms
PHP 模块 --
php -m
[PHP Modules]
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
json
libxml
mbstring
mcrypt
memcached
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib
[Zend Modules]
Zend OPcache
a2query -m:
a2query -m
dir (enabled by maintainer script)
headers (enabled by site administrator)
env (enabled by maintainer script)
authz_host (enabled by maintainer script)
reqtimeout (enabled by maintainer script)
include (enabled by site administrator)
rewrite (enabled by site administrator)
auth_basic (enabled by maintainer script)
alias (enabled by maintainer script)
authz_core (enabled by maintainer script)
asis (enabled by site administrator)
status (enabled by maintainer script)
cache (enabled by site administrator)
echo (enabled by site administrator)
autoindex (enabled by maintainer script)
authz_user (enabled by maintainer script)
fastcgi (enabled by maintainer script)
actions (enabled by site administrator)
filter (enabled by maintainer script)
mime (enabled by maintainer script)
expires (enabled by site administrator)
setenvif (enabled by maintainer script)
mpm_event (enabled by site administrator)
socache_shmcb (enabled by site administrator)
authn_file (enabled by maintainer script)
proxy (enabled by site administrator)
access_compat (enabled by maintainer script)
ssl (enabled by site administrator)
deflate (enabled by maintainer script)
authn_core (enabled by maintainer script)
suexec (enabled by site administrator)
negotiation (enabled by maintainer script)
proxy_fcgi (enabled by site administrator)
speling (enabled by site administrator)
http2 (enabled by maintainer script)
info (enabled by site administrator)
proxy_http2 (enabled by site administrator)
我不确定它是什么,但 /var/log/apport.log 包含一些类似这样的错误:
ERROR: apport (pid 12399) Tue Jul 4 00:26:27 2017: called for pid 12251, signal 11, core limit 0
ERROR: apport (pid 12399) Tue Jul 4 00:26:27 2017: executable: /usr/sbin/apache2 (command line "/usr/sbin/apache2 -k start")
ERROR: apport (pid 12399) Tue Jul 4 00:26:27 2017: is_closing_session(): no DBUS_SESSION_BUS_ADDRESS in environment
ERROR: apport (pid 12399) Tue Jul 4 00:26:27 2017: apport: report /var/crash/_usr_sbin_apache2.0.crash already exists and unseen, doing nothing to avoid disk usage DoS
/var/log/kern.log:
Jul 4 02:08:39 localhost kernel: [ 2.667815] ppdev: user-space parallel port driver
Jul 4 02:08:39 localhost kernel: [ 2.691111] Request for unknown module key 'Magrathea: Glacier signing key: d120c47c14beb62ead6703d41712cc110575d297' err -11
Jul 4 02:08:39 localhost kernel: [ 2.716583] Request for unknown module key 'Magrathea: Glacier signing key: d120c47c14beb62ead6703d41712cc110575d297' err -11
Jul 4 02:08:39 localhost kernel: [ 2.717334] Request for unknown module key 'Magrathea: Glacier signing key: d120c47c14beb62ead6703d41712cc110575d297' err -11
Jul 4 02:08:40 localhost kernel: [ 5.345061] audit: type=1400 audit(1499148520.484:8): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/874/status" pid=874 comm="mysqld" requeste$
Jul 4 02:08:40 localhost kernel: [ 5.345262] audit: type=1400 audit(1499148520.484:9): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=874 comm="mysqld"$
Jul 4 02:08:40 localhost kernel: [ 5.345373] audit: type=1400 audit(1499148520.484:10): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/874/status" pid=874 comm="mysqld" request$
Jul 4 02:08:40 localhost kernel: [ 5.391287] random: nonblocking pool is initialized
Jul 4 02:08:40 localhost kernel: [ 5.577297] Request for unknown module key 'Magrathea: Glacier signing key: d120c47c14beb62ead6703d41712cc110575d297' err -11
Jul 4 02:10:10 localhost kernel: [ 95.097387] perf interrupt took too long (2626 > 2500), lowering kernel.perf_event_max_sample_rate to 50000
Jul 4 02:26:07 localhost kernel: [ 1052.647086] audit: type=1400 audit(1499149567.761:11): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1445/status" pid=1445 comm="mysqld" reque$
Jul 4 02:26:07 localhost kernel: [ 1052.647352] audit: type=1400 audit(1499149567.761:12): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=1445 comm="mysql$
Jul 4 02:26:07 localhost kernel: [ 1052.647513] audit: type=1400 audit(1499149567.761:13): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1445/status" pid=1445 comm="mysqld" reque$
Jul 4 02:26:23 localhost kernel: [ 1067.895962] audit: type=1400 audit(1499149583.008:14): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1446/status" pid=1446 comm="mysqld" reque$
Jul 4 02:26:23 localhost kernel: [ 1067.896241] audit: type=1400 audit(1499149583.012:15): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=1446 comm="mysql$
Jul 4 02:26:23 localhost kernel: [ 1067.896340] audit: type=1400 audit(1499149583.012:16): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1446/status" pid=1446 comm="mysqld" reque$
Jul 4 02:31:19 localhost kernel: [ 1364.640301] perf interrupt took too long (5248 > 5000), lowering kernel.perf_event_max_sample_rate to 25000
Jul 4 02:37:26 localhost kernel: [ 1731.575398] audit: type=1400 audit(1499150246.686:17): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1540/status" pid=1540 comm="mysqld" reque$
Jul 4 02:37:26 localhost kernel: [ 1731.575508] audit: type=1400 audit(1499150246.686:18): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=1540 comm="mysql$
Jul 4 02:37:26 localhost kernel: [ 1731.575596] audit: type=1400 audit(1499150246.686:19): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1540/status" pid=1540 comm="mysqld" reque$
Jul 4 02:42:49 localhost kernel: [ 2054.276362] perf interrupt took too long (10122 > 10000), lowering kernel.perf_event_max_sample_rate to 12500
Jul 4 04:00:02 localhost kernel: [ 6687.106794] perf interrupt took too long (20184 > 20000), lowering kernel.perf_event_max_sample_rate to 6250
稍后将获得更多信息。
【问题讨论】:
-
那么最初的错误是什么?还是您只是无条件地开始更新/升级狂欢?
-
Apache 2.4.26 在与我需要的几个模块(例如 http2)结合使用时会导致段错误。我看到其他人报告说他们的 PHP 7.1.6、PHP-FPM 和 Event MPM 设置不受此影响,因此我迅速决定遵循该升级路径。 - 我应该提到,至少,自从我升级以来,这些段错误就没有再次出现。他们以前在 apache2 错误日志中。所以现在发生的一切都是不同的。
-
好的,谢谢。所以下一步是检查日志记录,对吗?看起来您必须将配置的相关部分添加到问题中,因为我们无法猜测这些部分。
-
您所描述的可能还表明底层系统的一些一般影响:空闲 inode 数量少或类似。监控系统日志文件可能也是值得的。
-
发生这种停滞时,apache 错误日志本身并没有显示任何内容。 -- 你能给我更多关于我应该在这里发布哪些具体信息/文件/配置的指导吗?谢谢!
标签: php mysql wordpress apache php-7.1