温馨提示×

centos怎么优化laravel性能

小樊
38
2026-09-11 18:11:06
栏目: 智能运维

在 CentOS 上优化 Laravel 性能,可以从系统层、PHP 层、Laravel 层、缓存与数据库、Web 服务器几个维度来做。下面给你一套比较实用、可落地的方案。


一、系统 & 环境层面

1. 使用较新的 PHP 版本

Laravel 对 PHP 版本敏感,尽量使用 PHP 8.1 / 8.2 / 8.3

php -v

如版本过低,建议通过 remi 源升级:

yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php82
yum install -y php php-cli php-fpm php-mysqlnd php-mbstring php-xml php-curl

2. 开启 OPcache(非常重要)

编辑 PHP 配置:

vi /etc/php.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:

systemctl restart php-fpm

二、Laravel 自身优化(核心)

1. 生产环境配置

APP_ENV=production
APP_DEBUG=false

2. 优化命令(必须做)

php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize

部署后修改代码必须重新执行


3. 关闭未使用的中间件 / 服务

  • 删掉无用的 middleware
  • 少用 __construct 里查数据库
  • 避免在 ServiceProvider 里做重逻辑

三、缓存优化

1. 使用 Redis 代替文件缓存

.env

CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

安装 Redis:

yum install -y redis
systemctl enable redis
systemctl start redis

2. 数据库查询缓存

  • 使用 cache()
  • 避免 N+1 查询(用 with()
User::with('posts')->get();

四、Web 服务器优化(Nginx 示例)

1. Nginx + PHP-FPM

location ~ \.php$ {
    fastcgi_pass   unix:/run/php-fpm/www.sock;
    fastcgi_index  index.php;
    include        fastcgi_params;
}

2. 开启 Gzip

gzip on;
gzip_types text/css application/javascript application/json;

3. 静态资源走 CDN / Nginx

location /static/ {
    expires 30d;
    access_log off;
}

五、PHP-FPM 调优(CentOS 重点)

编辑:

vi /etc/php-fpm.d/www.conf

示例(4 核 8G):

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

重启:

systemctl restart php-fpm

六、队列 & 定时任务

1. 使用队列

php artisan queue:work --daemon

supervisor 守护:

yum install -y supervisor

2. 定时任务

* * * * * php /path/artisan schedule:run

七、监控 & 排错

  • top / htop
  • php-fpm 慢日志
  • Laravel Telescope(开发)
  • laravel-debugbar(开发)

八、最简生产优化清单 ✅

opcache on
config:cache
route:cache
view:cache
redis cache
nginx gzip
php-fpm tuned
queue used

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

  • CentOS 版本(7 / 8 / Stream)
  • 内存 & CPU
  • 是否高并发 / API / 后台系统

我可以给你一套定制化参数

0