温馨提示×

LNMP在Debian卡怎么办

小樊
33
2026-10-13 15:57:08
栏目: 智能运维

在 Debian 上搭建或使用 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 时如果出现卡顿、响应慢、负载高,通常是配置、资源、或环境问题。下面按常见原因 → 排查方法 → 解决办法来讲。


一、先确认“卡”在哪里

1️⃣ 是系统卡还是服务卡?

top
htop
  • CPU 100% → PHP / MySQL / Nginx 问题
  • 内存快满 → 可能是 MySQL 或 PHP-FPM 配置过大
  • 磁盘 IO 高 → 日志、数据库、swap

二、Nginx 卡顿常见原因

✅ 1. worker 进程太少

编辑:

/etc/nginx/nginx.conf
worker_processes auto;
worker_connections 1024;

改完:

nginx -t
systemctl restart nginx

✅ 2. 静态资源没缓存

location ~* \.(jpg|css|js|png)$ {
    expires 7d;
}

三、PHP-FPM 卡(非常常见)

✅ 1. PHP-FPM 进程不够

/etc/php/*/fpm/pool.d/www.conf

关键参数:

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20

查看:

ps aux | grep php-fpm

重启:

systemctl restart php8.2-fpm

✅ 2. PHP 慢日志(非常有用)

slowlog = /var/log/php-fpm-slow.log
request_slowlog_timeout = 5s

然后看哪个 PHP 文件慢。


四、MySQL / MariaDB 卡

✅ 1. 内存配置过大

Debian 默认 MariaDB 可能吃内存。

编辑:

/etc/mysql/mariadb.conf.d/50-server.cnf

示例(低内存):

innodb_buffer_pool_size = 128M
max_connections = 50

重启:

systemctl restart mariadb

✅ 2. SQL 慢查询

SHOW PROCESSLIST;

或开启慢日志:

slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1

五、Debian 系统层面问题

✅ 1. 开了 swap 吗?

free -h
swapon --show

没有就开:

fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

✅ 2. 磁盘 IO 爆了

iostat -x 1

如果是 HDD + 高并发,基本必卡。


六、LNMP 一键包特别说明(很重要)

如果你用的是 lnmp.org 一键包:

  • 默认配置偏“服务器级”
  • 小内存机器极易卡

建议:

./lnmp wp

或手动降配置


七、快速自检清单 ✅

  • [ ] free -h 看内存
  • [ ] top 看 CPU
  • [ ] nginx error.log
  • [ ] php-fpm slow log
  • [ ] mysql processlist
  • [ ] 是否开 swap

八、如果你愿意,我可以更精准帮你

你可以直接贴:

  1. top 截图或输出
  2. 服务器内存(1G / 2G?)
  3. 用的 LNMP 版本或一键包
  4. 是访问网站卡,还是命令行卡

我可以直接告诉你改哪几个参数。

0 踩