在 CentOS 上运行 Laravel 感觉“慢”,通常不是 Laravel 本身的问题,而是环境配置、系统资源、PHP 运行方式等综合因素导致。下面按常见原因从高到低给你梳理,并给出排查与优化建议。
很多人用:
php artisan serve
或者 Apache + mod_php + 未启用 OPcache
✅ 推荐方案
检查是否启用 OPcache:
php -m | grep opcache
php -i | grep opcache.enable
如果没开,CentOS 上安装:
yum install php-opcache
并配置:
opcache.enable=1
opcache.memory_consumption=128
opcache.revalidate_freq=60
Laravel 默认是“开发模式”。
✅ 生产环境必须执行:
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize (Laravel 5.x)
每次代码更新后记得清缓存:
php artisan cache:clear
php artisan serve这是单进程、开发用,在 CentOS 上:
❌ 不要用在生产
✅ 用 Nginx + PHP-FPM
CentOS 默认开启 SELinux,可能导致:
检查:
getenforce
如果是 Enforcing,可临时测试:
setenforce 0
(正式环境建议配置策略,而不是关闭)
尤其是:
/storage 或 /bootstrap/cache 写入频繁检查 IO:
iostat -x 1
优化:
Laravel 默认每次请求都连数据库
检查:
DB_HOST=127.0.0.1 # 不要用 localhost(DNS 解析慢)
开启持久连接(谨慎):
DB_PERSISTENT=true
以下都非常吃性能:
APP_DEBUG=true生产环境:
APP_DEBUG=false
APP_ENV=production
composer install --no-dev生产部署:
composer install --optimize-autoloader --no-dev
比如:
❌ 同步执行
✅ 使用 Queue
# 1. PHP 模式
php -v
php -m | grep opcache
# 2. Web 服务
nginx -v
php-fpm -v
# 3. Laravel 优化
php artisan route:cache
php artisan config:cache
# 4. 环境
cat .env | grep APP_DEBUG
你可以告诉我:
php artisan serve我可以直接给你一套**“CentOS + Laravel 最佳性能配置方案”**。