Конфигурация Logrotate для httpd (CentOS)

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

2
задан 24 April 2011 в 05:29
2 ответа

Нет, '/sbin/service httpd перезагрузка' команда не уничтожает все соединения, поскольку это не инициирует '"жесткий" перезапуск'. CentOS инициировал Apache через сервис, другое OSs делают с помощью init сценариев. Для всех них 'перезагрузка' означает корректный Apache перезапуска/отправки сигнал USR1:

"USR1 или корректный сигнал заставляют родительский процесс советовать детям выходить после их текущего запроса (или сразу выйти, если они ничему не служат). Родитель перечитывает свои конфигурационные файлы и вновь открыл его файлы журнала. Поскольку каждый ребенок вымирает, родитель заменяет его ребенком от нового поколения конфигурации, которая начинает служить новым запросам сразу".

0
ответ дан 3 December 2019 в 11:05

Исходный ответ не корректен. initscript "перезагрузка" просто передает команду перезагрузки apachectl. Перезагрузка отправляет SIGHUP в httpd, который сразу завершает дочерние процессы и действительно прерывает в настоящее время соединяемые клиенты: http://httpd.apache.org/docs/current/stopping.html#hup

Посмотрите ошибку, зарегистрированную против RHEL httpd пакет: https://bugzilla.redhat.com/show_bug.cgi? id=480624

Корректная причина не используется в logrotate сценарии, то, потому что нет никакого способа гарантировать, дочерние процессы остановились: http://httpd.apache.org/docs/current/stopping.html#graceful

3
ответ дан 3 December 2019 в 11:05

Теги

Похожие вопросы