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 в журнале ошибок.

Если бы вы нашли другое решение, я хотел бы услышать это.

Другие вопросы по тегам