温馨提示×

怎样优化Debian的Laravel

小樊
40
2026-07-06 06:15:26
栏目: 智能运维

优化 Debian 上的 Laravel 通常从 系统层、PHP 层、Laravel 层、数据库层、缓存与队列、部署方式 几个维度来做。下面按“实用 + 生产环境”的方式给你一套完整优化方案。


一、系统层优化(Debian)

1. 更新系统并移除无用服务

sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y

2. 使用高性能文件系统 & 内核参数

编辑 /etc/sysctl.conf

vm.swappiness = 10
net.core.somaxconn = 65535
sudo sysctl -p

二、PHP 优化(非常关键)

1. 安装 PHP 优化配置

推荐版本:PHP 8.2 / 8.3

sudo apt install php8.2-fpm php8.2-cli php8.2-common \
php8.2-mysql php8.2-curl php8.2-mbstring \
php8.2-xml php8.2-zip php8.2-redis php8.2-opcache

2. 优化 php.ini

memory_limit = 256M
upload_max_filesize = 50M
post_max_size = 50M
max_execution_time = 120

3. 优化 OPcache(强烈建议)

编辑 /etc/php/8.2/fpm/conf.d/opcache.ini

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=32
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0  # 生产环境

三、Nginx / Apache 优化

1. Nginx + PHP-FPM(推荐)

Nginx 配置示例

server {
    listen 80;
    server_name example.com;
    root /var/www/laravel/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 $realpath_root$fastcgi_script_name;
    }
}

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

四、Laravel 层优化(最重要)

1. 生产环境必须执行

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

⚠️ 注意:

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

2. 关闭调试模式

.env

APP_ENV=production
APP_DEBUG=false

3. 开启 Laravel Octane(高并发)

适合高访问量项目:

composer require laravel/octane
php artisan octane:install

选择 Swoole / RoadRunner


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

1. MySQL 配置优化

/etc/mysql/mysql.conf.d/mysqld.cnf

innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
max_connections = 200

2. Laravel 数据库优化

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306

使用 读写分离 / 连接池(高并发时)


六、缓存 & 队列优化

1. 使用 Redis(强烈推荐)

sudo apt install redis-server

.env

CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

2. 队列优化

php artisan queue:work --daemon

使用 Supervisor 守护进程:

[program:laravel-worker]
command=php /var/www/laravel/artisan queue:work redis --sleep=3 --tries=3
autostart=true
autorestart=true

七、Composer & 部署优化

1. Composer 安装优化

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

2. 禁止访问敏感文件

Nginx 中:

location ~ /\.env {
    deny all;
}

八、性能监控 & 日志

1. 日志优化

LOG_CHANNEL=stack
LOG_LEVEL=error

2. 常用监控工具

  • htop
  • iftop
  • mysqltuner
  • Laravel Horizon(Redis 队列)

九、推荐优化组合(生产环境)

✅ Debian
✅ Nginx
✅ PHP 8.2 + OPcache
✅ Redis
✅ Laravel Octane(可选)
✅ Supervisor
✅ MySQL 优化


十、快速检查清单 ✅

  • [ ] APP_DEBUG=false
  • [ ] php artisan config:cache
  • [ ] opcache.enable=1
  • [ ] Redis 作为缓存
  • [ ] 队列使用 Supervisor
  • [ ] 数据库索引合理

如果你愿意,我可以:

  • ✅ 针对 低配 VPS(1C1G) 给你一套极限优化方案
  • ✅ 帮你 分析 Laravel 慢的原因
  • ✅ 给你 Docker / 非 Docker 部署对比

直接告诉我你的 服务器配置 + 并发量 即可。

0