温馨提示×

debian跑laravel慢怎么解决

小樊
42
2026-10-02 07:52:48
栏目: 智能运维

在 Debian 上运行 Laravel 感觉“慢”,通常不是系统本身的问题,而是配置、缓存、PHP 环境、磁盘 IO等导致的。下面按最常见 → 最见效的顺序给你一套排查和优化方案。


一、先确认“慢”在哪里(非常重要)

先别盲目优化,先定位:

# 看页面响应时间
curl -w "time_total: %{time_total}\n" http://your-site.test

# 看 PHP 执行时间
php -m | grep -i xdebug

如果有 xdebug,先关掉,它非常非常慢。


二、最常见原因 & 解决办法(90% here)

1️⃣ 没开 Laravel 缓存(最常见)

Laravel 默认会实时读取配置、路由、视图。

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

⚠️ 改代码后记得清缓存:

php artisan optimize:clear

2️⃣ 使用 PHP 内置服务器(开发还行,生产别用)

❌ 错误方式:

php artisan serve

✅ 正确方式(生产):

  • Nginx + PHP-FPM
  • Apache + PHP-FPM

3️⃣ PHP 版本太低(非常关键)

Laravel 10/11 推荐:

Laravel PHP
10 ≥ 8.1
11 ≥ 8.2

查看:

php -v

Debian 升级 PHP:

sudo apt install php8.2 php8.2-fpm php8.2-cli

4️⃣ OPcache 没开(性能翻倍)

编辑:

/etc/php/8.2/fpm/conf.d/10-opcache.ini

确保:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60

重启:

systemctl restart php8.2-fpm

5️⃣ Storage / 日志疯狂写入

Laravel 慢 + 磁盘 IO 高,常见原因:

  • storage/logs/laravel.log 太大
  • 每请求都写日志

检查:

du -sh storage

建议:

  • 日志按级别
  • 生产关 debug
APP_DEBUG=false

6️⃣ 数据库没索引 / N+1 查询

在代码中:

User::with('posts')->get(); // ✅
User::all(); // ❌ 然后循环查 posts

检查:

php artisan telescope:install
# 或
clockwork

7️⃣ Debian 磁盘是 HDD / 虚拟机很慢

Laravel 对 IO 敏感:

  • vendor/
  • storage/
  • bootstrap/cache/

最好放:

  • SSD
  • 本地磁盘
  • 别用 NFS / SMB

三、生产环境推荐配置(标准)

Nginx + PHP-FPM

fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;

PHP-FPM

pm = dynamic
pm.max_children = 50
pm.start_servers = 10

四、如果你是在 Docker / WSL 里跑

❌ WSL1 + Laravel = 灾难
✅ 用 WSL2
✅ 项目放 Linux 文件系统,不是 /mnt/c


五、快速自检清单(照着做)

✅ PHP ≥ 8.1
✅ opcache 开
✅ config/route/view cached
✅ 不用 artisan serve
✅ 没开 xdebug
✅ 数据库有索引
✅ 日志不爆炸


六、如果你愿意

你可以直接告诉我:

  1. Debian 版本
  2. PHP 版本
  3. 怎么运行的(nginx / apache / docker)
  4. 是本地开发慢还是服务器慢

我可以给你精确优化方案,甚至直接帮你改配置。

0 踩