温馨提示×

laravel在centos如何优化

小樊
41
2026-10-05 18:51:26
栏目: 智能运维

在 CentOS 上优化 Laravel 主要从系统层、PHP 层、Laravel 层、数据库层、缓存与队列、Web 服务几个方面入手。下面是一套比较实用、可落地的优化方案。


一、系统层(CentOS)

1. 系统更新与基础优化

yum update -y
  • 关闭不必要的服务
  • 调整文件描述符限制
ulimit -n 65535

在 /etc/security/limits.conf 中:

* soft nofile 65535
* hard nofile 65535

2. 使用合适的内核参数(高并发)

/etc/sysctl.conf 示例:

net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
vm.swappiness = 10
sysctl -p

二、PHP 优化(非常关键)

1. 使用 PHP 8.x(推荐 8.1+)

yum install php php-cli php-fpm php-mysqlnd php-mbstring php-xml php-curl php-zip php-gd php-opcache

2. 开启 OPcache(必开)

/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 ; 生产环境

3. PHP-FPM 优化

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

pm = dynamic
pm.max_children = 120
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 30
pm.max_requests = 500

三、Laravel 自身优化(非常重要)

1. 生产环境配置

APP_ENV=production
APP_DEBUG=false

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

php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize (Laravel 8+ 可省略)
composer install --optimize-autoloader --no-dev

3. 关闭不必要的服务

  • 不用 telescope、debugbar(生产)
  • 不用 laravel ide helper(生产)

四、Web 服务优化(Nginx 推荐)

1. Nginx 基础优化

worker_processes auto;
worker_connections 10240;
keepalive_timeout 30;
gzip on;
gzip_types text/css application/javascript application/json;

2. PHP 反代优化

fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_read_timeout 60;

五、数据库优化(MySQL / MariaDB)

1. 基础配置(my.cnf)

innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
query_cache_type = 0
max_connections = 300

2. Laravel 数据库优化

  • 使用 连接池(Swoole / Octane)
  • 避免 N+1 查询
User::with('posts')->get();
  • 使用索引
  • 使用 chunk() / lazy() 处理大数据

六、缓存 & 队列(强烈推荐)

1. 使用 Redis

.env

CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

2. 队列 worker 常驻

php artisan queue:work --daemon

配合 supervisor 管理进程。


七、使用 Laravel Octane(进阶)

适合高并发:

composer require laravel/octane
php artisan octane:install

使用 Swoole / RoadRunner,性能可提升数倍。


八、监控 & 日志

  • 使用 supervisor 管理进程
  • 日志轮转(logrotate)
  • 监控:
    • htop
    • netdata
    • prometheus + grafana

总结(最简优化清单)

✅ PHP 8 + OPcache
✅ Laravel config/route/view cache
✅ Nginx + PHP-FPM 调优
✅ Redis 缓存 & 队列
✅ MySQL 索引 & 连接优化
✅ 生产环境关闭 debug

如果你愿意,我可以:

  • 按你的 服务器配置(CPU/内存) 给你具体参数
  • 或针对 高并发 / API / 后台系统 做专项优化方案

0 踩