Выключение Apache - не удалось захватить мьютекс - PullRequest
0 голосов
/ 02 июня 2018

По некоторым неизвестным мне причинам Apache падает.

Это журнал apache на момент сбоя:

[Sat Jun 02 02:38:05.196006 2018] [mpm_prefork:emerg] [pid 1122] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Sat Jun 02 02:38:05.196006 2018] [mpm_prefork:emerg] [pid 1116] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Sat Jun 02 02:38:05.198767 2018] [mpm_prefork:emerg] [pid 1115] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Sat Jun 02 02:38:05.199523 2018] [mpm_prefork:emerg] [pid 3924] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Sat Jun 02 02:38:05.204189 2018] [mpm_prefork:emerg] [pid 1937] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Sat Jun 02 02:38:05.207362 2018] [mpm_prefork:emerg] [pid 1120] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Sat Jun 02 02:38:06.057310 2018] [core:alert] [pid 1099] AH00050: Child 1115 returned a Fatal error... Apache is exiting!
[Sat Jun 02 02:38:06.057483 2018] [:emerg] [pid 1099] AH02818: MPM run failed, exiting

Последнее, что я сделал на сервере за последнее времябыло установить certbot для общих сертификатов HTTPS для моих сайтов.

Ответы [ 2 ]

0 голосов
/ 21 июля 2019

Вы не поделились полной трассировкой журнала.Это может быть:

[Вс 21 июля, 15:49:43 2019] [ошибка] (12) Невозможно выделить память: fork: невозможно обработать новый процесс

Это связано с нехваткой памяти и Apache не удалось создать новые процессы.Это также зависит от количества процессов, которые вы настроили для форка.Это происходит, когда на сайт слишком много трафика.

0 голосов
/ 31 июля 2018

Я столкнулся с той же ошибкой в ​​Ubuntu 17.10 с Apache 2.4.27.

Похоже, это связано с тем, что Apache говорит с ОС о блокировке файлов.Когда я вошел в /etc/apache2/apache2.conf и добавил Mutex flock в раздел Mutex (рядом с разделом ServerRoot), это, похоже, решило проблему.

К сожалению, все, что я могу сказать, это то, что это использует стадо () функция (системный вызов?) для обработки блокировки файлов.За https://httpd.apache.org/docs/2.4/mod/core.html#mutex

Так что это немного чёрная магия, я лично недостаточно знаком с поведением блокировки файлов Apache, чтобы сказать, почему он работает, и могу только сказать, что он работает, потому что сбой Apache кажетсячтобы остановить, но только до сих пор.Тем не менее, это может помочь вам и кажется довольно низким риском.

...