我有一个 VPS,在 Ubuntu 14 机器上配备 2 GB 的 RAM。一段时间后,我决定升级机器上的软件包,包括安装最新版本的 apache2 (2.4.7)。
然而,几天后,我的 wordpress (v 4.0) 安装开始出现问题。当我重新启动 apache 服务器时,它运行良好,提供页面。然后,几个小时后,对服务器的任何请求都需要 1-2 分钟才能得到响应。我的 Web 服务器流量并不大,不足以证明这种延迟是合理的。远远不够。这种情况也发生在 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.6GB),但无济于事。
我对 Apache 配置不太了解,有人能指出我正确的方向来查找错误吗?
答案1
事实证明我是 wordpress xmlrpc 攻击的受害者。
我检查了日志,发现单个实体对我的 xmlrtc.php wordpress 文件发出了数百个请求。我修改了 .htaccess 文件,使其包含一条额外的重写规则:
重写规则 ^xmlrpc.php$ "http://0.0.0.0/" [R=301,L]
到目前为止我还没有遇到任何问题。
答案2
查看 apache 中的错误日志。您可以检查新 apache 版本与旧 PHP 版本之间是否存在不兼容的情况