Laravel项目在Linux上如何优化
导读:Linux上优化 Laravel 的实用清单 一 系统层与网络优化 选用更高性能的硬件与存储:优先使用充足内存与高速 SSD/NVMe,对计算密集型任务选择更高主频 CPU。 调整内核网络参数以提升并发连接处理能力:适度增大net.cor...
Linux上优化 Laravel 的实用清单
一 系统层与网络优化
- 选用更高性能的硬件与存储:优先使用充足内存与高速 SSD/NVMe,对计算密集型任务选择更高主频 CPU。
- 调整内核网络参数以提升并发连接处理能力:适度增大net.core.somaxconn、net.ipv4.tcp_max_syn_backlog等。
- 提升文件描述符限制:在 systemd 服务或 limits.conf 中提高nofile,避免高并发下“Too many open files”。
- Web 服务器选择:优先 Nginx(静态资源、反向代理表现更佳),正确将根目录指向 public。
- 启用传输与协议优化:开启 Gzip/Brotli 压缩;启用 HTTP/2 提升多路复用与首包速度。
二 PHP 运行时与 OPcache
- 使用PHP 7+(建议 8.x),并启用 OPcache:
- opcache.enable=1
- opcache.memory_consumption=128(按内存调优)
- opcache.max_accelerated_files=10000
- opcache.revalidate_freq=60
- 采用 PHP-FPM(替代 mod_php),按负载配置进程模型与数量(如动态/静态 pm、max_children、start_servers 等)。
- 精简未使用扩展,减少内存与初始化开销;按需调整 memory_limit。
三 Laravel 应用层优化
- 配置与路由缓存:生产环境执行
- php artisan config:cache
- php artisan route:cache
- php artisan view:cache
- 使用高性能缓存与队列:将 CACHE_DRIVER=redis、SESSION_DRIVER=redis;耗时任务放入队列,如 php artisan queue:work --daemon,Redis 队列可配合 Horizon 监控。
- 数据库与 Eloquent:为高频查询字段建立索引;使用 Eager Loading(with) 解决 N+1;对大数据列表使用分页;必要时使用查询缓存。
- 前端与静态资源:通过 Laravel Mix 执行 npm run production 进行合并压缩;静态资源使用 CDN 加速。
四 部署架构与进程管理
- 反向代理与静态资源:Nginx 直接服务静态文件,动态请求转发给 PHP-FPM;隐藏敏感文件与目录。
- 高性能常驻进程:使用 Laravel Octane(Swoole/RoadRunner)减少框架重复引导开销,示例:
- composer require laravel/octane
- php artisan octane:install
- php artisan octane:start --workers=4 --task-workers=2(按 CPU 核数调优)
- 进程守护与平滑重启:配置 systemd 或 Supervisor 管理队列、Octane 与工作进程,确保异常自动拉起与零停机部署。
五 监控、日志与持续维护
- 性能分析与监控:开发环境可用 Laravel Debugbar;生产环境建议 New Relic、Datadog 等进行 APM 与链路追踪,快速定位瓶颈。
- 日志与告警:集中化收集 Laravel 日志 与 PHP-FPM 慢日志,对异常与慢请求设置阈值告警。
- 持续升级与依赖管理:定期更新 Laravel 核心、PHP 与相关扩展,保持安全性与性能修复;变更前在预发布环境充分压测与回滚演练。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Laravel项目在Linux上如何优化
本文地址: https://pptw.com/jishu/764120.html
