温馨提示×

Debian运行Laravel慢怎么解决

小樊
45
2026-10-08 04:18:26
栏目: 智能运维

在 Debian 上运行 Laravel 感觉“慢”,通常不是 Laravel 本身的问题,而是环境配置、PHP 配置或系统资源没有优化。下面按最常见 → 最有效的顺序给你一套排查与优化方案。


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

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

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

常见慢点:

  • PHP 没开 OPcache(最常见)
  • 使用了 php artisan serve
  • 每次请求都跑 composer / 读 .env
  • 磁盘 IO 慢(云服务器常见)
  • 数据库没索引

二、PHP 性能优化(最关键)

1️⃣ 开启 OPcache(必做)

sudo apt install php-opcache

编辑:

/etc/php/*/cli/php.ini
/etc/php/*/fpm/php.ini
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0   ; 生产环境
opcache.revalidate_freq=60

重启:

sudo systemctl restart php-fpm

✅ 这一步通常能快 3–10 倍


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

❌ 错误方式:

php artisan serve

✅ 正确方式:

  • Nginx + PHP-FPM
  • 或 Apache + php-fpm

三、Laravel 自身优化(生产必做)

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

⚠️ 注意:

  • 改了 .env → 重新 config:cache
  • 开发环境不要 cache

四、Composer 优化

composer install --optimize-autoloader --no-dev

或:

composer dump-autoload -o

五、文件系统 & 磁盘 IO(云服务器重点)

1️⃣ 关闭文件监控(开发机才需要)

.env:

LOG_CHANNEL=single

2️⃣ 使用 tmpfs(可选)

mkdir -p /dev/shm/laravel-cache

config/cache.php:

'default' => 'array',

六、数据库优化(非常常见)

EXPLAIN SELECT * FROM users WHERE email = 'x';
  • 加索引
  • 避免 N+1 查询
  • 使用 with() 预加载

七、Debian 系统级优化

1️⃣ 使用最新 PHP

php -v

推荐 PHP 8.1 / 8.2 / 8.3

2️⃣ 关闭 Xdebug(生产)

sudo phpdismod xdebug

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

你可以贴一下:

  1. Debian 版本
  2. PHP 版本
  3. Web 服务(Nginx / Apache)
  4. 是本地还是云服务器
  5. 页面响应时间大概多少秒

我可以直接帮你给出针对你机器的优化配置。

0 踩