温馨提示×

怎样优化ubuntu的laravel性能

小樊
42
2026-10-25 03:46:26
栏目: 智能运维

在 Ubuntu 上优化 Laravel 性能,通常可以从 系统层面、PHP 层面、Laravel 自身、数据库、缓存与运维 几个维度来做。下面是一套比较实用、可落地的优化方案。


一、系统与运行环境优化(Ubuntu)

1. 使用高性能 Web 服务器

  • Nginx + PHP-FPM(推荐)
  • 避免 Apache mod_php
sudo apt install nginx php-fpm

2. 调整 PHP-FPM 配置

编辑:

/etc/php/8.x/fpm/pool.d/www.conf

关键参数(示例,按服务器配置调整):

pm = dynamic
pm.max_children = 100
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 30

重启:

sudo systemctl restart php8.x-fpm

二、PHP 层面优化

1. 安装 OPcache(非常重要)

sudo apt install php-opcache

/etc/php/8.x/fpm/php.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  # 生产环境

三、Laravel 自身优化(最核心)

1. 生产环境配置

APP_ENV=production
APP_DEBUG=false

2. 优化命令(部署必做)

php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache

注意:改了代码或配置后必须重新 cache

3. 关闭开发工具

  • 卸载或禁用:
    • laravel-debugbar
    • telescope(生产可关)

四、数据库优化

1. 使用合适的数据库

  • MySQL / PostgreSQL
  • 避免 SQLite(生产)

2. 常见 Laravel 优化

  • 使用 索引
  • 避免 N+1 查询:
User::with('posts')->get();
  • 使用 select() 减少字段
  • 批量操作:
Model::upsert(...)

3. 慢查询日志

SHOW VARIABLES LIKE 'slow_query%';

五、缓存策略(性能提升最大)

1. 使用 Redis

sudo apt install redis-server

.env:

CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

2. 缓存常用数据

Cache::remember('key', 600, function () {
    return User::all();
});

六、队列与异步任务

1. 使用队列

php artisan queue:work --daemon

用 supervisor 守护:

sudo apt install supervisor

七、静态资源优化

1. 前端构建

npm run build

2. Nginx 开启 gzip

gzip on;
gzip_types text/css application/javascript;

八、监控与持续调优

  • 使用:
    • laravel-perf
    • blackfire
    • top / htop
    • nginx access log

九、最简“上线前 Checklist”

✅ APP_DEBUG=false
✅ OPcache 开启
✅ config/route/view cache
✅ Redis 缓存
✅ 队列异步
✅ Nginx + PHP-FPM


如果你愿意,可以告诉我:

  • Ubuntu 版本
  • PHP / Laravel 版本
  • 服务器配置(CPU / 内存)
  • 是 API 还是 Web 项目

我可以给你一套针对性配置示例。

0 踩