Apache2 在 Ubuntu 上“慢”通常不是单一原因,而是配置、系统资源、网络或应用层共同导致的。下面按最常见 → 较少见的顺序说明原因和优化方向。
mpm_prefork + PHP(典型 WordPress 场景)Ubuntu 默认 Apache 使用:
mpm_prefork + mod_php
问题:
✅ 优化方案:
sudo a2dismod php*
sudo apt install php-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php-fpm
并改用:
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
默认:
KeepAlive On
KeepAliveTimeout 5
MaxKeepAliveRequests 100
问题:
✅ 建议:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 2
✅ 建议:
mod_cachesudo apt install php-opcache
Apache 默认:
HostnameLookups On
✅ 改为:
HostnameLookups Off
检查:
free -h
top
如果 Swap 被频繁使用:
✅ 建议:
常见:
mod_securityfail2ban 规则过严✅ 排查:
sudo apache2ctl -M | grep security
✅ 启用 HTTP/2:
sudo a2enmod http2
✅ 排查:
sudo tail -f /var/log/apache2/access.log
看响应时间:
%D # 请求耗时(微秒)
# 查看当前 MPM
apachectl -V | grep MPM
# 查看进程数
ps aux | grep apache
# 查看慢请求
sudo tail -n 100 /var/log/apache2/access.log
你可以告诉我:
我可以直接给你一份可复制的优化配置。