温馨提示×

debian跑laravel慢怎么破

小樊
44
2026-10-14 02:04:21
栏目: 智能运维

在 Debian 上跑 Laravel 感觉慢,通常是环境配置 + Laravel 自身优化没做到位。下面按「最常见 → 进阶」给你一套实用排查和优化清单。


一、先确认“慢在哪”

先别急着优化,先定位:

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

# PHP 执行时间
php -m | grep -E "opcache|redis"

常见慢的来源:

  • PHP 没开 OPcache
  • 使用 php artisan serve
  • 每次请求都读 .env、配置、路由
  • 用 SQLite / 慢 MySQL
  • Debian 默认配置偏保守

二、必做的基础优化(立竿见影)

1️⃣ 开启 OPcache(最重要)

编辑:

/etc/php/8.x/cli/php.ini
/etc/php/8.x/fpm/php.ini

确保有:

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0  ; 生产环境

重启:

systemctl restart php8.x-fpm

✅ 通常能快 3–10 倍


2️⃣ 使用 PHP-FPM + Nginx(不要用 artisan serve)

不要用:

php artisan serve

正确架构:

Nginx → PHP-FPM → Laravel

Nginx 示例(关键部分):

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

3️⃣ Laravel 生产优化命令

php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache

⚠️ 改了代码要重新 cache


三、数据库 & 缓存优化

4️⃣ 用 Redis 做缓存 / Session

.env:

CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

安装:

apt install redis-server

5️⃣ MySQL 调优(如果用 MySQL)

/etc/mysql/my.cnf

至少:

innodb_buffer_pool_size = 512M

四、Debian 系统层面

6️⃣ 关掉 Xdebug(开发机才开)

php -m | grep xdebug

有的话:

mv /etc/php/8.x/mods-available/xdebug.ini /tmp/
systemctl restart php8.x-fpm

7️⃣ 文件系统时延问题

如果在 虚拟机 / WSL / NFS:

  • 把项目放在本地磁盘
  • 避免 storage/ 在慢挂载点

五、进阶(如果你追求极致)

  • Swoole / Laravel Octane
  • 静态资源走 CDN
  • 使用 Laravel Horizon(队列)
  • Blackfire / Tideways 做性能分析

六、快速自检清单 ✅

  • [ ] OPcache 已开
  • [ ] PHP-FPM + Nginx
  • [ ] config / route / view cached
  • [ ] Redis 做缓存
  • [ ] Xdebug 关闭
  • [ ] 不在 NFS / WSL 慢盘

如果你愿意,可以告诉我:

  • Debian 版本
  • PHP 版本
  • Web 服务器(Nginx / Apache)
  • 是本地还是服务器
  • 具体“慢”的表现(首页?API?后台?)

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

0 踩