温馨提示×

ubuntu lamp为何很卡顿

小樊
37
2026-10-09 22:51:51
栏目: 智能运维

Ubuntu 上搭建的 LAMP(Linux + Apache + MySQL + PHP) 环境卡顿,通常不是“Ubuntu 本身慢”,而是资源、配置或硬件不匹配导致的。下面按最常见原因 → 排查方法 → 解决建议给你梳理。


一、最常见原因(90% 的卡顿在这里)

1️⃣ 服务器配置太低(尤其虚拟机 / 云服务器)

LAMP 对资源其实不算高,但:

  • 内存 < 1GB:MySQL + Apache 很容易吃满
  • CPU 1 核 + 高并发:直接卡死
  • Swap 没开或太小

✅ 检查:

free -h
top
htop

✅ 解决:

  • 最少 1GB 内存(生产建议 2GB+)
  • 开 Swap:
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

2️⃣ Apache 使用 prefork 模式(极其吃内存)

默认 Ubuntu Apache 是 mpm_prefork,每个请求一个进程。

✅ 查看:

apachectl -V | grep MPM

✅ 优化方案(强烈推荐):

sudo a2dismod php*
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php*-fpm
sudo systemctl restart apache2

使用 PHP-FPM + Apache Event MPM,性能提升明显。


3️⃣ MySQL 配置不合理(默认很保守或很激进)

Ubuntu 默认 MySQL 配置并不适合小机器。

✅ 常见症状:

  • 查询慢
  • CPU 100%
  • 内存暴涨

✅ 简单优化(小内存): 编辑:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

加 / 改:

innodb_buffer_pool_size = 128M
max_connections = 50
query_cache_type = 0

重启:

sudo systemctl restart mysql

4️⃣ PHP 没开 OPcache(非常影响性能)

PHP 每次请求都重新编译,超级慢。

✅ 安装:

sudo apt install php-opcache

✅ 确认:

php -m | grep opcache

5️⃣ 网站代码本身慢

  • 大量 SQL 查询
  • 没有索引
  • 外链加载(API、CDN)
  • WordPress 插件过多

✅ 排查:

sudo tail -f /var/log/apache2/access.log
sudo tail -f /var/log/mysql/error.log

二、系统层面也可能导致卡顿

6️⃣ 磁盘 IO 差(云盘 / 机械盘)

  • 云服务器低配盘
  • 日志太多

✅ 检查:

iostat -x 1

7️⃣ 开了太多后台服务

systemctl list-unit-files --type=service | grep enabled

关掉不需要的:

  • bluetooth
  • cups
  • snap(很占资源)

三、推荐“不卡”的标准组合 ✅

Ubuntu 22.04 / 24.04

  • Apache + PHP-FPM
  • MySQL(或 MariaDB)
  • OPcache
  • 至少 2GB 内存
  • Swap 1–2GB

四、如果你愿意,我可以直接帮你“开方子”

你可以告诉我:

  1. Ubuntu 版本
  2. 内存多大
  3. 是本地虚拟机还是云服务器
  4. 跑的是什么程序(WordPress?Laravel?自建?)

我可以直接给你一套针对性优化配置。

0 踩