У меня есть 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.