Рейтинг:0

Apache2 в Ubuntu EC2 отключается и не перезагружается

флаг cn

История:

Мы перенесли установку Codeigniter 3 с Bluehost на T3.2xlarge. Этот единственный экземпляр размещает apache2 и сервер mysql в качестве локальной базы данных.

На Bluehost инстанс работал нормально, была выполнена миграция, так как у самого Bluehost были сбои, и нам нужен был более надежный хостинг.


Ошибка

После миграции Страница случайным образом полностью отключается. Попытка перезапустить apache2 с помощью:

перезагрузка службы sudo apache2

Не работает, требуется полная перезагрузка экземпляра EC2, чтобы служба снова заработала. После перезагрузки EC2 запускаются apache2 и mysql, и страница работает без запуска служб после перезагрузки экземпляра.


Попытка отладки 1

Поскольку страница отключилась, когда были запущены интенсивные базы данных cron, я предположил, что сервер mysql был узким местом. Миграция всей базы данных в бессерверную RDS должна устранить все узкие места, связанные с базой данных. Те же интенсивные cron базы данных заканчиваются сейчас. Чтобы еще больше исключить cron, являющийся причиной сбоя системы, я клонировал EC2 и использовал клон для запуска cron, в то время как оригинал размещает веб-страницу, на которую указывает домен.

Однако случайные отключения продолжаются.


Попытка отладки 2

Предполагая, что это проблема с памятью, после проверки phpinfi.php я увидел, что PHP имеет 128 МБ ОЗУ (на машине с 32 ГБ), поэтому просто посмотреть, поможет ли больше ОЗУ:

  1. memory_limit установлен на 8192Mb
  2. перезагрузить ЕС2
  3. перезапустить php7.4-fpm
  4. перезапустить апач2

phpinfo подтвердил, что memory_limit установлен на 8192M.

Случайные сбои продолжаются.


Попытка отладки 3

Проверка команды:

судо apache2ctl -t

возвращает:

Синтаксис ОК

Проверка команды:

нано /var/log/apache2/error.log

содержит:

[mpm_worker:notice] AH00295: обнаружен SIGTERM, завершение работы

Поэтому я предполагаю, что Apache по какой-то причине отключается, но не может перезапуститься.

Проверка команды:

перезагрузка службы sudo apache2

не выдает ошибки

Проверка команды:

перезапуск sudo apache2ctl

не выдает ошибки

Проверка команды:

/usr/sbin/apache2 -V

показывает:

[core:warn] [pid 24560] AH00111: переменная конфигурации ${APACHE_RUN_DIR} не определен

apache2: синтаксическая ошибка в строке 81 файла /etc/apache2/apache2.conf: DefaultRuntimeDir должен быть

действительный каталог, абсолютный или относительный для ServerRoot

Версия сервера: Apache/2.4.41 (Ubuntu)

Сервер построен: 2022-03-16T16:52:53

Магический номер модуля сервера: 20120211:88

Сервер загружен: APR 1.6.5, APR-UTIL 1.6.1

Скомпилировано с использованием: APR 1.6.5, APR-UTIL 1.6.1

Архитектура: 64-битная

МПМ сервера:

Сервер скомпилирован с....

-D APR_HAS_SENDFILE

-D АПР_HAS_MMAP

-D APR_HAVE_IPV6 (включены сопоставленные IPv4-адреса)

-D APR_USE_SYSVSEM_SERIALIZE

-D APR_USE_PTHREAD_SERIALIZE

-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT

-D АПРЕЛЬ_HAS_OTHER_CHILD

-D AP_HAVE_RELIABLE_PIPED_LOGS

-D ДИНАМИЧЕСКИЙ_МОДУЛЬ_LIMIT=256

-D HTTPD_ROOT="/etc/apache2"

-D SUEXEC_BIN="/usr/lib/apache2/suexec"

-D DEFAULT_PIDLOG="/var/run/apache2.pid"

-D DEFAULT_SCOREBOARD="журналы/apache_runtime_status"

-D DEFAULT_ERRORLOG="журналы/журнал_ошибок"

-D AP_TYPES_CONFIG_FILE="mime.types"

-D SERVER_CONFIG_FILE="apache2.conf"

Где я вижу 2 вещи:

  • возникла проблема с ${APACHE_RUN_DIR}
  • Сервер MPM не возвращает MPM

Проверка команды:

 апач2 -л

возвращает:

Скомпилировано в модулях:
core.c
mod_so.c
mod_watchdog.c
http_core.c
mod_log_config.c
mod_logio.c
mod_version.c
mod_unixd.c

Что не показывает модуль MPM.

Проверка команды:

апач2 -л
apache2ctl -l

возвращает:

Скомпилировано в модулях:
core.c
mod_so.c
mod_watchdog.c
http_core.c
mod_log_config.c
mod_logio.c
mod_version.c
mod_unixd.c

Проверка команды:

a2query-M

возвращает:

рабочий


Вопрос:

И вот тут я сейчас застрял. Есть ли что-нибудь еще, что я могу проверить или прочитать из попытки отладки 3, чтобы понять, почему apache останавливается/не перезапускается и требует полной перезагрузки сервера?

Wilson Hauck avatar
флаг jp
Этот URL-адрес может помочь вам устранить отсутствующую переменную APACHE_RUN_DIR. https://www.osradar.com/ah00111-config-variable-apache_run_dir-is-not-defined/ Удачи. Покрывайте одну проблему в день, как правило = прогресс.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.