уже была такая тема от меня же здесь apache перестаёт принимать соединения. что бы сделать?
(оттуда)
Есть сервер (виртуалка на kvm).
на нём стоит apache httpd. Время от времени (приблизительно каждые 6 часов) сервер перестаёт принимать соединения.
Процессы апача просто висят и ничего не делают.
В логах ничего не видно. Сообщений о том что MaxClients достигнут - нет (хотя если все процессы заняты и MaxClients равен ServerLimit, то по идее должны быть сообщения о том что достигнуты MaxClients..).
Установил на другую виртуалку, перенёс данные. Ситуация повторилась.
Куда копать?
в логах из необычного в наличии сообщения типа
Mar 9 09:20:41 myhost httpd-error[1779]: [Fri Mar 09 09:20:41 2012] [notice] child pid 1836 exit signal Bus error (7)
Интересно, что если даже перестартануть апач, то работа сервера не возобновляется.
тогда решение проблемы найдено не было. я перенёс содержимое виртуалки на хост-машину и проблема ушла.
сегодня новый сервер, такая же конфигурация - виртуалка, в ней апач. та же проблема - апач просто прекращает работать через примерно 6-8 часов. перезапуск апача не помогает. помогает только рестарт виртуальной машины.
в отличие от предыдущей конфигурации, в данной фронтендом стоит nginx. nginx использует точно того же пользователя что и апач. Nginx не имеет этой проблемы (т.е. продолжает принимать соединения и нормально работать). Однако апач останавливается. и если страница не статическая а apache-вская, nginx показывает 500.
На виртуалках с низкой нагрузкой ничего подобного не замечается.
так же на другой виртуалке стоит mysql-server. НАгрузка довольно большая (такая же как на «зависающую» примерно). проблем не наблюдается. отличие mysql-сервера от http в том что у http есть внешний Ip, который соединён с хостом через bridge.
идеи?