温馨提示×

如何用debian优化laravel

小樊
42
2026-10-14 01:58:21
栏目: 智能运维

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


一、系统层优化(Debian)

1. 更新系统与内核参数

sudo apt update && sudo apt upgrade -y

编辑 /etc/sysctl.conf:

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

生效:

sudo sysctl -p

2. 文件描述符限制

编辑 /etc/security/limits.conf:

* soft nofile 65535
* hard nofile 65535

二、PHP 优化(非常关键)

1. 安装 PHP(推荐 8.2 / 8.3)

sudo apt install php8.2-fpm php8.2-cli php8.2-mysql php8.2-redis php8.2-opcache php8.2-mbstring php8.2-xml php8.2-curl -y

2. 优化 php.ini

编辑 /etc/php/8.2/fpm/php.ini:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 60
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.revalidate_freq=60
opcache.validate_timestamps=0  ; 生产环境

3. PHP-FPM 调优

编辑 /etc/php/8.2/fpm/pool.d/www.conf:

pm = dynamic
pm.max_children = 120
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 40

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

1. 安装 Nginx

sudo apt install nginx -y

2. 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 snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
    }

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

四、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. 关闭无用服务

  • 不用 SQLite / Mail 就移除
  • 少用中间件
  • 使用 lazy collections 处理大数据

五、缓存与数据库优化

1. 使用 Redis

sudo apt install redis-server -y

.env:

CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

2. 数据库优化

  • 加索引
  • 使用 with() 避免 N+1
  • 使用 paginate() / chunk()

六、队列与异步(高并发关键)

1. 启动队列

php artisan queue:work --daemon

2. Supervisor 守护

sudo apt install supervisor -y

/etc/supervisor/conf.d/laravel.conf:

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

七、监控与压测

  • 监控:htop, netdata
  • 日志:laravel.log, nginx error.log
  • 压测:
ab -n 1000 -c 100 http://example.com/

八、推荐生产架构

Nginx + PHP-FPM + Redis + MySQL
        |
     Laravel
        |
    Supervisor(Queue)

如果你愿意,我可以:

  • 按 低配 VPS / 高并发 / API 项目 给你定制配置
  • 帮你写 完整的 Debian + Laravel 部署脚本
  • 针对你当前 慢接口 / 高 CPU 做专项优化

你可以告诉我你的服务器配置和使用场景。

0 踩