温馨提示×

ubuntu apache为啥访问慢

小樊
42
2026-10-02 06:02:43
栏目: 智能运维

在 Ubuntu 上用 Apache 访问慢,通常不是单一原因,下面按最常见 → 较少见给你一个排查清单,你可以一条条对照。


一、最常见原因

1️⃣ DNS 反向解析(非常常见)

Apache 默认会对客户端 IP 做 反向 DNS 查询,如果 DNS 不通或很慢,页面就会卡。

现象

  • 本地访问快,外网访问慢
  • 日志里响应时间很长

解决 编辑 Apache 配置:

sudo nano /etc/apache2/apache2.conf

加或修改:

HostnameLookups Off

然后:

sudo systemctl restart apache2

2️⃣ 没有开启 KeepAlive 或配置不合理

如果每次请求都新建连接,会明显变慢。

建议配置

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

3️⃣ PHP / 后端执行慢(如果是 PHP 网站)

常见于:

  • WordPress
  • Laravel
  • 自建 PHP 项目

检查

top
htop

看 php-fpm 或 apache2 CPU 是否很高。

优化

  • 启用 OPcache
  • 检查慢查询(数据库)
  • 禁用不必要的插件

4️⃣ 数据库慢(MySQL / MariaDB)

Apache 本身没问题,但卡在数据库。

检查

sudo mysql
SHOW PROCESSLIST;

常见原因

  • 没索引
  • 外网数据库
  • 连接数过多

二、网络与系统层面

5️⃣ 云服务器带宽小

  • 1~2 Mbps 带宽
  • 图片 / JS / CSS 大

解决

  • 启用 gzip
  • 使用 CDN
  • 压缩静态资源

6️⃣ IPv6 导致超时(很隐蔽)

浏览器先试 IPv6,失败再 IPv4。

检查

cat /etc/hosts

临时测试

curl -4 http://你的域名
curl -6 http://你的域名

7️⃣ Apache MPM 模式不对

Ubuntu 默认可能是 mpm_prefork,不适合高并发。

查看:

apache2ctl -M | grep mpm

PHP 网站常见组合:

  • mpm_prefork + mod_php
  • mpm_event + php-fpm(推荐)

三、快速自检命令(强烈建议跑一下)

# 测试响应时间
time curl -I http://localhost

# 看 Apache 错误日志
sudo tail -f /var/log/apache2/error.log

# 看访问日志
sudo tail -f /var/log/apache2/access.log

四、你可以这样告诉我,我可以直接帮你定位

如果你愿意,回复我:

  1. Ubuntu 版本(22.04?20.04?)
  2. Apache + PHP?还是静态网站?
  3. 本地访问慢还是外网慢?
  4. 是否有域名 / HTTPS?
  5. 服务器是国内还是国外?

我可以直接给你针对性配置。

0 踩