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

Сервер Apache зависает через несколько часов, требуется перезагрузка

У меня есть VPS с 2 ГБ ОЗУ на машине Ubuntu 14. Через некоторое время я решил обновить свои пакеты на машине, включая установку последней версии apache2 (2.4.7).

Однако через несколько дней начали появляться проблемы с моей установкой wordpress (v 4.0). Когда я перезапускаю сервер apache, он работает нормально, обслуживая страницы. Затем, через несколько часов, на любой запрос к серверу требуется 1-2 минуты, чтобы получить ответ. У меня не так много трафика на веб-сервер, чтобы оправдать эту задержку. Отнюдь не. Это также происходит с HTML-страницами, а не только с PHP.

Когда я перезапускаю сервер apache, все в порядке, пока проблемы не начнутся снова, через несколько часов, когда сервер перестает отвечать.

Вот мой файл /etc/apache2/mods-enabled/mpm_prefork.conf:

<IfModule mpm_prefork_module>
    StartServers            10
    MinSpareServers         10
    MaxSpareServers         30
    MaxRequestWorkers       100
    MaxConnectionsPerChild  2000
</IfModule>

Я также пытался увеличить эти числа (до точки, когда процессы apache потребляли бы до 1,6 ГБ), но безрезультатно.

Я мало что знаю о конфигурациях apache, может ли кто-нибудь указать мне правильное направление, чтобы найти ошибку?

Оказалось, что я стал жертвой xmlrpc-атак на wordpress.

Я проверил журналы и увидел сотни запросов к моему файлу xmlrtc.php wordpress от одного объекта. Я изменил свой файл .htaccess, чтобы он содержал одно дополнительное правило перезаписи:

RewriteRule ^ xmlrpc.php $ "http://0.0.0.0/" [R = 301, L]

И пока никаких проблем не испытал.

Посмотрите журнал ошибок в Apache. Вы можете проверить, нет ли несовместимости между вашей новой версией apache и старой версией PHP.