在 Debian 上跑 Laravel “卡”,通常不是系统本身慢,而是配置或环境没调好。下面按「最常见 → 进阶」给你一套排查和解决思路。
先别急着优化,先定位:
top
htop
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
✅ 性能通常直接翻倍
检查:
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
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize
⚠️ 改代码后记得清缓存:
php artisan config:clear
错误权限会导致 Laravel 疯狂写失败重试:
chown -R www-data:www-data storage bootstrap/cache
chmod -R 775 storage
改 .env:
SESSION_DRIVER=redis
# 或
SESSION_DRIVER=database
Redis 安装:
apt install redis-server
SHOW VARIABLES LIKE 'slow_query_log';
常见卡点:
whereorder byjoin 字段❌ 不要在正式环境:
composer install
✅ 用:
composer install --no-dev --optimize-autoloader
free -h
没有 swap:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
避免用:
你可以告诉我:
我可以直接给你一套针对性配置。