Почему Apache получает сигнал SIGTERM и просто останавливается?

Почему Apache получает сигнал SIGTERM и просто останавливается?

У меня есть сервер, на котором запущен nginx для статического контента, а также Apache, на котором запущен код PHP и Python.

Примерно раз в день Apache просто завершает работу, оставляя Nginx, выдающий ошибку 502 Bad Gateway. Все, что я могу найти в журналах, это то, что Apache получил SIGTERM, никаких других подробностей.

[mpm_prefork:notice] [pid 11811] AH00169: перехвачен SIGTERM, завершение работы

Он работает нормально уже некоторое время, без какого-либо обслуживания, кроме как нехватки места на диске. Я сделал некоторую настройку SSL-прокси несколько месяцев назад. Запуск Debian Jessie

решение1

Используйте auditd для регистрации всех системных вызовов kill -S kill в файле audit.rules. СмотритеКак использовать аудит для мониторинга определенного SYSCALL?Записи журнала будут содержать pid, uid и exe каждого уничтожения, найдите тот, который был перед завершением работы httpd.

Я предполагаю, что это скрипт ротации журналов, который перезапускается неправильно.

решение2

пойман SIGTERM

Это означает, что система отправляет команду завершения Apache. Я бы начал искать задания Rogue cron, которые останавливают/перезапускают Apache, или начал бы просматривать ваши sarжурналы, чтобы увидеть, есть ли у вас какие-либо проблемы с ресурсами. Когда у вас проблемы с памятью, сервер автоматически завершает процессы, чтобы сохранить себя в живых. Apache — это обычно одна из вещей, которые будут завершаться таким образом при проблемах с памятью.

Связанный контент