在 CentOS 上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 后,访问慢是一个常见问题,通常不是单一原因,下面按最常见 → 较少见给你梳理一下,并给出排查思路。
Apache 默认会做 反向 DNS 解析(HostnameLookups)。
现象
解决
vim /etc/httpd/conf/httpd.conf
找到:
HostnameLookups On
改成:
HostnameLookups Off
然后:
systemctl restart httpd
尤其是 WordPress、Laravel、ThinkPHP 等。
检查
php -m | grep opcache
如果没有:
yum install php-opcache -y
编辑 php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.revalidate_freq=60
重启:
systemctl restart php-fpm # 或 httpd
老版本 CentOS 默认 prefork + mod_php
建议方案(强烈推荐)
检查
httpd -V | grep MPM
如果是 prefork,建议改为 event + php-fpm
现象
排查
mysqladmin processlist
常见原因
开启慢查询日志:
slow_query_log=1
slow_query_log_file=/var/log/mariadb/slow.log
long_query_time=1
虽然一般不会“慢”,但可能:
可临时测试:
setenforce 0
iostat -x 1
如果 %util 长时间 100%,说明磁盘瓶颈。
free -m
swapon -s
如果大量使用 swap:
✅ 1. HostnameLookups 是否 Off
✅ 2. 是否启用 OPcache
✅ 3. Apache 是否用 PHP-FPM
✅ 4. MySQL 是否有慢查询
✅ 5. 内存 / IO 是否正常
你可以发我以下信息(越全越快):
cat /etc/redhat-release)我可以直接给你一份针对性优化方案。