Ubuntu 上 Apache 访问很慢,通常不是“Apache 本身慢”,而是配置、系统环境或应用层的问题。下面按最常见原因 → 排查方法 → 解决建议给你梳理一下。
Apache 默认会尝试对客户端 IP 做 反向 DNS 解析,如果 DNS 不通,就会卡几秒。
✅ 表现:
✅ 解决:
# apache2.conf
HostnameLookups Off
重启:
sudo systemctl restart apache2
如果是 PHP 网站(WordPress、Laravel 等):
✅ 常见原因:
✅ 检查:
php -m | grep opcache
✅ 建议:
; php.ini
opcache.enable=1
opcache.memory_consumption=128
Apache 默认:
KeepAlive On
KeepAliveTimeout 5
高并发时可能拖慢。
✅ 建议(普通站点):
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 2
Ubuntu 默认可能是:
mpm_prefork(慢但兼容 PHP)mpm_event(快,但需 PHP-FPM)✅ 查看:
apachectl -M | grep mpm
✅ 推荐(PHP 站点):
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php-fpm
sudo a2dismod phpX.Y
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
特别是:
✅ 检查:
top
iostat -x 1
mod_securityufw 规则异常✅ 排查:
sudo ufw status
✅ 用浏览器 F12 → Network 看哪个请求慢
# 1. 关闭 DNS 解析
HostnameLookups Off
# 2. 看 MPM
apachectl -M | grep mpm
# 3. 看系统负载
top
htop
# 4. 看 Apache 状态
sudo a2enmod status
访问:
http://你的IP/server-status
你可以告诉我:
我可以直接给你一份最优 Apache 配置。