Ubuntu上Laravel性能优化实操清单
一 基础环境优化
sudo systemctl restart php8.2-fpm nginxphp -i | grep opcache 或 public/opcache-test.php 查看状态。ulimit -n 查看,必要时在 /etc/security/limits.conf 提升 soft/hard nofile。net.core.somaxconn、net.ipv4.tcp_max_syn_backlog、net.ipv4.tcp_tw_reuse、net.ipv4.tcp_fin_timeout、net.ipv4.ip_local_port_range 等,修改后 sysctl -p 生效。expires 30d; add_header Cache-Control "public")。二 Laravel应用层优化
php artisan config:cache、php artisan route:cache、php artisan view:cache、php artisan event:cachecomposer dump-autoload --optimize(或 -o).env:CACHE_DRIVER=redis、SESSION_DRIVER=redisredis-server,Laravel 安装 predis/predis.env:QUEUE_CONNECTION=redisphp artisan queue:work --queue=default --sleep=3 --tries=3with() 预加载关联。Cache::remember()、页面片段缓存、查询缓存。npm run production 合并压缩;启用 CDN 加速静态资源。三 高并发方案 Octane
sudo pecl install swoole 并启用 extension=swoole.socomposer require laravel/octane;php artisan octane:install --server=swoolephp artisan octane:start --workers=$(nproc) --task-workers=2/etc/supervisor/conf.d/octane.conf:
sudo supervisorctl reread && sudo supervisorctl update && sudo supervisorctl start octanemax_request 回收长生命周期可能的内存泄漏。四 队列与守护进程配置示例
sudo apt-get install supervisor/etc/supervisor/conf.d/laravel-worker.conf:
sudo supervisorctl reread && sudo supervisorctl update && sudo supervisorctl start laravel-worker:*supervisorctl status、tail -f /var/log/laravel-worker.log五 监控与持续化优化
composer require appstract/laravel-opcachephp artisan opcache:status、php artisan opcache:optimize、php artisan opcache:reset