Apache не отвечает (сайт не работает) или падает, достигнута настройка MaxRequestWorkers
Этот вопрос о том, что Apache многократно падает, и пока он работает, он не отвечает, то есть я не могу попасть на сайт, поэтому я пытаюсь выяснить причину.
Мой сайт Owncloud, обслуживаемый Apache 2.4.7 в Ubuntu 14.04, недоступен. Чтобы проверить, что не так, я запустил apachectl -S:
~$ sudo apachectl -S
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:443 oc.benopp.org (/etc/apache2/sites-enabled/000-default.conf:1)
*:80 127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:18)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33
Кажется, это не объясняет проблему. Error.log говорит это:
[Wed Jan 07 19:07:13.384687 2015] [ssl:warn] [pid 1699] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Wed Jan 07 19:07:13.389319 2015] [mpm_prefork:notice] [pid 1699] AH00163: Apache/2.4.7 (Ubuntu) mod_gnutls/0.5.10 PHP/5.5.9-1ubuntu4.5 OpenSSL/1.0.1f configured -- resuming normal operations
[Wed Jan 07 19:07:13.389359 2015] [core:notice] [pid 1699] AH00094: Command line: '/usr/sbin/apache2'
[Wed Jan 07 19:08:01.788631 2015] [mpm_prefork:error] [pid 1699] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting
Я не понимаю, как с помощью сайта можно получить доступ к настройкам Макс. Запросов. Правильно ли я полагаю, что, хотя я единственный, кто пытается получить доступ к Owncloud для загрузки некоторых файлов или изменения настроек, это никогда не должно вызывать такое количество запросов?
Чтобы присмотреться, я активировал mod_status. К сожалению, я не знаю, что делать с показаниями, потому что я только учил себя, как настроить Apache для запуска моего Owncloud, и я новичок в этом. Кажется, довольно долго размещать показания страницы состояния сервера здесь в строке, поэтому я сделал вставку: http://pastie.org/private/aj7zduzhrt8sayjb4hncg
Итак, все процессы "отправляют ответ", за исключением того, что я не знаю на что, потому что я не отправляю никаких запросов, и сервер фактически отключен от Интернета прямо сейчас. В документации объясняется, как искать проблемы, которые вызывают чрезмерную нагрузку, но у меня возникают проблемы с тем, чтобы Top показал мне что-то, что я могу использовать. Хотя кажется, что загрузка процессора на самом деле не так, высоких нагрузок не видно. Можете ли вы сказать, в чем проблема из этого вывода?
EDIT2: еще один сбой произошел несколько часов назад, вот часть, которая кажется актуальной из error.log:
начало файла:
ProblemType: Crash
Architecture: amd64
CrashCounter: 1
Date: Tue Jan 6 13:50:05 2015
DistroRelease: Ubuntu 14.04
ExecutablePath: /usr/sbin/apache2
ExecutableTimestamp: 1406039884
ProcCmdline: /usr/sbin/apache2 -k start
ProcCwd: /etc/apache2
ProcEnviron:
PATH=(custom, no user)
LANG=C
ProcMaps:
7fd2a4000000-7fd2a8000000 rw-s 00000000 00:04 12964 /dev/zero (deleted)
7fd2a8000000-7fd2a8021000 rw-p 00000000 00:00 0
7fd2a8021000-7fd2ac000000 ---p 00000000 00:00 0
7fd2aced8000-7fd2acedd000 r-xp 00000000 08:01 266060 /lib/x86_64-linux-gnu/libnss_dns-2.19.so
7fd2acedd000-7fd2ad0dc000 ---p 00005000 08:01 266060 /lib/x86_64-linux-gnu/libnss_dns-2.19.so
7fd2ad0dc000-7fd2ad0dd000 r--p 00004000 08:01 266060 /lib/x86_64-linux-gnu/libnss_dns-2.19.so
и так далее, до конца файла:
ProcStatus:
Name: apache2
State: R (running)
Tgid: 2807
Ngid: 0
Pid: 2807
PPid: 1838
TracerPid: 0
Uid: 33 33 33 33
Gid: 33 33 33 33
FDSize: 64
Groups: 33
VmPeak: 525052 kB
VmSize: 524944 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 23680 kB
VmRSS: 23680 kB
VmData: 85112 kB
VmStk: 136 kB
VmExe: 592 kB
VmLib: 74868 kB
VmPTE: 712 kB
VmSwap: 0 kB
Threads: 1
SigQ: 1/29106
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000004000
SigIgn: 0000000001001000
SigCgt: 000000018c0042eb
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000001fffffffff
Seccomp: 0
Cpus_allowed: 3
Cpus_allowed_list: 0-1
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 21
nonvoluntary_ctxt_switches: 34
Signal: 11
Uname: Linux 3.13.0-43-generic x86_64
UserGroups:
CoreDump: base64
тогда CoreDump я удалил.
1 ответ
Это похоже на следующую ошибку, опубликованную на панели запуска: https://bugs.launchpad.net/ubuntu/+source/php-apcu/+bug/1422484
Короткая версия заключается в том, что, похоже, существует проблема с пользовательским кэшем APC для PHP 5, по крайней мере, в версии, поставляемой с Ubuntu 14.04.
Похоже, исправление состоит в том, чтобы очистить пакет php5-apcu, а затем перезапустить apache:
sudo apt-get purge php5-apcu
sudo service apache2 restart
Я только что сделал это, поэтому я не уверен, будет ли это на самом деле исправить этот долгосрочный срок. Я также видел ошибки APC в журнале ошибок.
Если бы вы нашли другое решение, я хотел бы услышать это.