在 Ubuntu 上搭建的 LAMP(Linux + Apache + MySQL + PHP)环境访问缓慢,通常不是单一原因造成的,下面按常见程度和排查顺序帮你梳理一下。
Apache 或 PHP 在以下情况会做 DNS 反向解析:
gethostbyaddr()表现:首字节时间很长(TTFB 高)
解决:
# Apache 关闭反向解析
sudo nano /etc/apache2/apache2.conf
添加或修改:
HostnameLookups Off
MySQL:
-- 给数据库用户使用 IP,不要使用主机名
GRANT ALL ON db.* TO 'user'@'127.0.0.1';
Ubuntu 默认可能是 mpm_prefork(进程多、耗内存)
apache2ctl -M | grep mpm
建议:
php-fpm + mpm_eventprefork 参数检查:
display_errors排查方法:
sudo apt install php-xdebug
或直接使用:
php -m
SHOW PROCESSLIST;
常见原因:
开启慢查询日志:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1
free -h
top
如果 Swap 使用高:
iostat -x 1
如果是低配云盘:
测试:
curl -I http://localhost
curl -I http://你的IP
Ubuntu 默认启用 IPv6,Apache 可能先尝试 IPv6
sudo nano /etc/apache2/ports.conf
改为:
Listen 0.0.0.0:80
你可以补充:
我可以直接给你针对性配置方案。