在 Ubuntu 上用 Apache 访问慢,原因很多,下面按最常见 → 较少见给你一个系统排查思路,基本能覆盖 90% 的情况。
Apache 默认会尝试对客户端 IP 做 反向 DNS 解析。
表现
解决
HostnameLookups Off
在 /etc/apache2/apache2.conf 中确认这一行是 Off
.htaccess(极其常见)如果目录里有 .htaccess,Apache 会每层目录都去读。
检查
find /var/www -name .htaccess
建议
AllowOverride None
如果是 PHP 网站:
top
htop
看是不是 php-fpm / apache2 占 CPU 高
常见原因
可临时测试:
echo "<?php phpinfo(); ?>" > /var/www/html/test.php
如果 test.php 很快,说明是业务代码问题。
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
ufw 规则太多mod_security 开启但规则重可临时关闭测试:
sudo ufw disable
Apache 监听 IPv6,但网络不支持。
现象
解决 编辑:
/etc/apache2/ports.conf
改为:
Listen 0.0.0.0:80
而不是:
Listen 80
free -h
df -h
iotop
Ubuntu 默认可能是 mpm_prefork
查看:
apache2ctl -M | grep mpm
如果是 PHP 网站:
prefork + mod_php ✅event + php-fpmtail -f /var/log/apache2/access.log
如果日志写入卡顿,可能磁盘问题。
# 1. 看配置
apache2ctl -S
# 2. 看错误
tail -n 50 /var/log/apache2/error.log
# 3. 本地直接访问
curl -w "%{time_total}\n" http://127.0.0.1
如果:
127.0.0.1 快 → 网络 / DNS 问题127.0.0.1 也慢 → Apache / PHP / 磁盘问题你可以补充:
我可以直接给你一份针对性配置。