温馨提示×

怎样在Debian优化Laravel

小樊
38
2026-07-17 22:45:16
栏目: 智能运维

在 Debian 上优化 Laravel,通常可以从 系统层、PHP 层、Laravel 自身、Web 服务器、数据库与缓存 几个方面入手。下面给你一套比较完整、实战可用的优化方案。


一、系统与基础环境优化

1. 使用最新稳定版本

lsb_release -a

建议使用:

  • Debian 11+(bullseye / bookworm)
  • PHP 8.2 / 8.3(Laravel 10 / 11 推荐)

2. 安装必要组件

sudo apt update
sudo apt install -y \
    nginx \
    php8.2-fpm \
    php8.2-cli \
    php8.2-common \
    php8.2-curl \
    php8.2-mbstring \
    php8.2-xml \
    php8.2-zip \
    php8.2-mysql \
    php8.2-redis \
    php8.2-opcache \
    composer \
    unzip \
    git

二、PHP & OPcache 优化(非常重要)

1. 开启并优化 OPcache

编辑:

sudo nano /etc/php/8.2/fpm/conf.d/20-opcache.ini

推荐配置:

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=32
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0
opcache.revalidate_freq=0
opcache.jit=1255
opcache.jit_buffer_size=256M

validate_timestamps=0 适合生产环境

重启 PHP-FPM:

sudo systemctl restart php8.2-fpm

2. PHP-FPM 优化

编辑:

/etc/php/8.2/fpm/pool.d/www.conf

关键参数:

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20

根据服务器内存调整(2G 内存不建议超过 80 个)。


三、Laravel 自身优化(生产必做)

进入 Laravel 项目目录:

cd /var/www/your-laravel-app

1. 优化 Artisan 命令

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

⚠️ 注意:

  • route:cache 不支持闭包路由
  • 每次部署后都需要重新执行

2. 自动加载优化

composer install --optimize-autoloader --no-dev

或更激进:

composer dump-autoload -o

3. 关闭调试模式

.env

APP_ENV=production
APP_DEBUG=false

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

1. Nginx 示例配置

server {
    listen 80;
    server_name example.com;
    root /var/www/your-laravel-app/public;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
    }

    location ~ /\. {
        deny all;
    }
}

2. 开启 Gzip

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

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

1. 基本优化

/etc/mysql/mariadb.conf.d/50-server.cnf

innodb_buffer_pool_size = 512M
innodb_log_file_size = 128M
max_connections = 150

2. Laravel 数据库配置

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306

避免频繁连接数据库,可配合 Redis。


六、缓存 & 队列优化(性能提升明显)

1. Redis 缓存

sudo apt install redis-server

.env

CACHE_STORE=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

2. 队列 Worker

php artisan queue:work --daemon

使用 systemd 守护进程(推荐):

sudo nano /etc/systemd/system/laravel-queue.service
[Unit]
Description=Laravel Queue Worker

[Service]
ExecStart=/usr/bin/php /var/www/your-laravel-app/artisan queue:work
Restart=always
User=www-data

[Install]
WantedBy=multi-user.target

启动:

sudo systemctl enable --now laravel-queue

七、文件与权限优化

sudo chown -R www-data:www-data /var/www/your-laravel-app
sudo chmod -R 755 /var/www/your-laravel-app

storage / bootstrap 目录:

sudo chmod -R 775 storage bootstrap/cache

八、监控与压测

1. 常用工具

htop
iotop

2. Laravel 性能分析

  • Laravel Horizon(Redis 队列)
  • Laravel Octane(Swoole / RoadRunner)

九、进阶(可选)

  • ✅ Laravel Octane(大幅提升并发)
  • ✅ PHP JIT(PHP 8.2+)
  • ✅ CDN(静态资源)
  • ✅ Docker + Debian

十、优化检查清单(生产必做)

✅ OPcache 开启
✅ config / route / view cache
✅ composer autoload 优化
✅ APP_DEBUG=false
✅ Redis 缓存
✅ 队列异步
✅ Nginx gzip
✅ PHP-FPM 调优


如果你愿意,我可以:

  • ✅ 根据你的 服务器配置(CPU / 内存) 给你定制参数
  • ✅ 帮你做 Laravel + Debian 生产环境标准部署方案
  • ✅ 帮你排查 慢接口 / 高 CPU 问题

直接告诉我你的服务器配置和实际场景即可。

0