下面从常见原因 → 排查方法 → 对应解决措施三个层面,帮你系统性解决 Ubuntu + Apache 访问慢 的问题。
先分清是:
time curl -I http://localhost
Ubuntu 默认可能是 mpm_prefork
查看:
apache2 -V | grep MPM
编辑:
sudo nano /etc/apache2/mods-enabled/mpm_prefork.conf
示例(2G–4G 内存):
<IfModule mpm_prefork_module>
StartServers 4
MinSpareServers 4
MaxSpareServers 10
MaxRequestWorkers 50
MaxConnectionsPerChild 200
</IfModule>
重启:
sudo systemctl restart apache2
编辑:
sudo nano /etc/apache2/apache2.conf
推荐:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
检查 PHP 版本:
php -v
建议:
sudo apt install php-opcache
php.ini 中:
opcache.enable=1
opcache.memory_consumption=128
Apache 默认会做主机名解析
修改:
sudo nano /etc/apache2/apache2.conf
改为:
HostnameLookups Off
如果日志在慢磁盘或权限异常:
临时测试:
sudo mv /var/log/apache2/access.log /var/log/apache2/access.log.bak
sudo touch /var/log/apache2/access.log
free -h
如果内存爆了:
swapon --show
可加 swap:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
iostat -x 1
如果是云服务器,可能是 低 IO 云盘
sudo a2enmod cache
sudo a2enmod cache_disk
sudo apt install php-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php-fpm
比 prefork + mod_php 快很多
如果你愿意,可以告诉我:
我可以直接给你一套最优配置。