Назад | Перейти на главную страницу

Почему родительский процесс Apache перезапускается без звука?

Я запускаю apache 2.2.9 с предварительным форком mpm на debian lenny. Следующий http://httpd.apache.org/docs/2.2/mod/prefork.html, Я бы ожидал, что есть один родительский процесс, работающий от имени root и прослушивающий в соответствии с настройками, который запускал бы дочерние процессы, как определено параметрами Min / Max / etc. директивы. Я ожидаю, что дети будут перезапущены согласно MaxRequestsPerChild, но родительский процесс останется с одним идентификатором процесса, пока я не перезапущу его вручную.

Из-за небольшой паранойи я начал отслеживать порты прослушивания, включая идентификаторы процессов. У меня есть задание cron каждые 20 минут для запуска netstat -ap | grep LISTEN и сравнить вывод. Иногда (примерно раз в день) я вижу серию таких вещей:

8c8
< tcp6       0      0 [::]:www                [::]:*                  LISTEN      6194/apache2    
---
tcp6       0      0 [::]:www                [::]:*                  LISTEN      6607/apache2    
10c10
< tcp6       0      0 [::]:https              [::]:*                  LISTEN      6194/apache2    
---
tcp6       0      0 [::]:https              [::]:*                  LISTEN      6607/apache2

В течение часа или трех родитель будет менять свой pid не реже одного раза в 20 минут без каких-либо объяснений в файлах журнала или каких-либо других намеков на то, что что-то идет не так.

Это не то, чего я ожидал. Что мне не хватает?

Это от logrotate?

cat /etc/logrotate.d/apache2

Взгляни на /var/log/syslog

Кроме того, менее подробный журнал событий находится в /var/log/daemon.log