在 Debian 上优化 Laravel 性能,可以从系统层、PHP 层、Laravel 层、缓存与队列、Web 服务器几个方面入手。下面是一套比较实用、可落地的优化方案。
建议使用 Debian 11 / 12,内核和软件包更新,性能更好。
cat /etc/debian_version
减少系统开销:
systemctl disable bluetooth
systemctl disable avahi-daemon
Laravel + PHP-FPM 高并发时需要:
# /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
apt install php8.1 php8.1-fpm php8.1-cli \
php8.1-mysql php8.1-redis php8.1-opcache php8.1-mbstring
编辑:
/etc/php/8.1/fpm/conf.d/10-opcache.ini
示例:
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.validate_timestamps=0
生产环境
validate_timestamps=0,部署后重启 PHP-FPM
/etc/php/8.1/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
根据内存调整(每个 PHP 进程约 30–80MB)
APP_ENV=production
APP_DEBUG=false
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize
每次部署后都要重新执行
composer require laravel/octane
php artisan octane:install
使用 Swoole 或 RoadRunner:
apt install php8.1-swoole
apt install redis-server
.env
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
with())DB::enableQueryLog() 排查慢查询apt install nginx
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
gzip on;
gzip_min_length 1024;
启用:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
php artisan queue:work --daemon
用 systemd 管理:
/etc/systemd/system/laravel-queue.service
crontab -e
* * * * * cd /var/www/laravel && php artisan schedule:run
htopphp-fpm statusredis-cli infoslow query log(MySQL)✅ Debian 12
✅ Nginx
✅ PHP 8.2 + OPcache
✅ Redis
✅ Laravel Octane(高并发)
✅ Queue + Supervisor / systemd
如果你愿意,可以告诉我:
我可以给你一套针对性的 Debian + Laravel 优化方案。