温馨提示×

debian跑laravel卡怎么解

小樊
43
2026-09-17 10:31:48
栏目: 智能运维

在 Debian 上跑 Laravel “卡”,通常不是系统本身慢,而是配置或环境没调好。下面按「最常见 → 进阶」给你一套排查和解决思路。


一、先确认“卡在哪里”

先别急着优化,先定位:

top
htop
  • CPU 100% → PHP / 队列问题
  • 内存爆 → 配置太低或内存泄漏
  • 磁盘 IO 高 → 日志、缓存、session 问题
  • 网页等好几秒 → 多半是 OPcache / 数据库 / 文件系统

二、PHP 层(最重要)

1️⃣ 必须开 OPcache(立竿见影)

Laravel 不吃 OPcache 基本等于裸奔。

编辑 PHP 配置(路径按版本):

/etc/php/8.2/fpm/php.ini

确保有:

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

重启:

systemctl restart php8.2-fpm

✅ 性能通常直接翻倍


2️⃣ 用 PHP-FPM,而不是 mod_php / CGI

检查:

ps aux | grep php-fpm

推荐配置(www.conf):

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

三、Laravel 自身优化(必做)

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

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

php artisan config:clear

四、文件 / 存储问题(Debian 常见坑)

1️⃣ storage 目录权限

错误权限会导致 Laravel 疯狂写失败重试:

chown -R www-data:www-data storage bootstrap/cache
chmod -R 775 storage

2️⃣ Session 别用 file(高并发必卡)

.env

SESSION_DRIVER=redis
# 或
SESSION_DRIVER=database

Redis 安装:

apt install redis-server

五、数据库优化(慢查询是元凶)

1️⃣ 开慢查询日志

SHOW VARIABLES LIKE 'slow_query_log';

2️⃣ 加索引

常见卡点:

  • where
  • order by
  • join 字段

六、Composer / 开发环境注意

❌ 不要在正式环境:

composer install

✅ 用:

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

七、Debian 系统层

1️⃣ Swap(小内存必开)

free -h

没有 swap:

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

2️⃣ 文件系统

避免用:

  • NFS
  • 网络盘跑 Laravel

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

你可以告诉我:

  1. Debian 版本
  2. PHP 版本
  3. 内存多少
  4. 是本地 / 服务器 / Docker
  5. 卡在「页面加载 / 队列 / 命令行」

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

0