温馨提示×

debian laravel慢怎么办

小樊
36
2026-09-20 14:05:18
栏目: 智能运维

在 Debian 上运行 Laravel 变慢,通常是环境配置 + Laravel 自身优化 + 系统资源三方面的问题。下面按“最常见 → 进阶”给你一套排查和优化清单。


一、先确认“慢在哪里”

time php artisan route:list
  • 如果 artisan 命令本身就慢 → PHP / 配置问题
  • 只有网页慢 → 路由、DB、视图、缓存问题
  • CLI 快、Web 慢 → Web 服务器(Nginx/Apache)或 OPcache 问题

二、PHP 层面(最重要)

1️⃣ 开启 OPcache(必做)

编辑 php.ini(Debian 通常在 /etc/php/8.x/fpm/php.ini):

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.validate_timestamps=0

重启 PHP:

systemctl restart php8.x-fpm

2️⃣ 使用 PHP-FPM(不要用 CGI)

ps aux | grep php

确认是 php-fpm,不是 php-cgi


3️⃣ 检查 PHP 版本

Laravel 推荐:

  • Laravel 10/11 → PHP 8.1+
  • Laravel 12 → PHP 8.2+
php -v

三、Laravel 优化(生产必做)

php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize

⚠️ 注意:

  • 改了 .env 后必须重新 config:cache
  • 开发环境不要用 cache

四、数据库(最常见慢点)

1️⃣ 开启查询日志排查

DB::enableQueryLog();
// ...
dd(DB::getQueryLog());

2️⃣ 加索引

EXPLAIN SELECT * FROM users WHERE email = 'x';

3️⃣ 使用 Redis 做缓存

.env

CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

五、文件 & 存储

1️⃣ storage/logs 太大

du -sh storage/logs

定期清理或关 debug:

APP_DEBUG=false

2️⃣ 使用 SSD / tmpfs

mount | grep tmpfs

六、Web 服务器(Nginx 示例)

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.x-fpm.sock;
    fastcgi_read_timeout 60;
}

七、系统资源排查

top
htop
free -h
df -h
iotop

常见问题:

  • 内存不足 → swap 狂用
  • 磁盘 IO 高 → 日志/缓存
  • CPU 满 → 死循环 / 队列卡死

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

你可以补充:

  1. Debian 版本
  2. PHP 版本
  3. Laravel 版本
  4. 是 CLI 慢还是 Web 慢
  5. 是否用了 Docker / 面板

我可以直接给你一份可复制的优化方案

0