优化 Debian 上的 Laravel 通常从 系统层、PHP 层、Laravel 层、数据库层、缓存与队列、部署方式 几个维度来做。下面按“实用 + 生产环境”的方式给你一套完整优化方案。
sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y
编辑 /etc/sysctl.conf:
vm.swappiness = 10
net.core.somaxconn = 65535
sudo sysctl -p
推荐版本: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
php.inimemory_limit = 256M
upload_max_filesize = 50M
post_max_size = 50M
max_execution_time = 120
编辑 /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 # 生产环境
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;
}
}
编辑 /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
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache
⚠️ 注意:
route:cache 不支持闭包路由.env
APP_ENV=production
APP_DEBUG=false
适合高访问量项目:
composer require laravel/octane
php artisan octane:install
选择 Swoole / RoadRunner
/etc/mysql/mysql.conf.d/mysqld.cnf
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
max_connections = 200
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
使用 读写分离 / 连接池(高并发时)
sudo apt install redis-server
.env
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
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 install --optimize-autoloader --no-dev
Nginx 中:
location ~ /\.env {
deny all;
}
LOG_CHANNEL=stack
LOG_LEVEL=error
htopiftopmysqltuner✅ Debian
✅ Nginx
✅ PHP 8.2 + OPcache
✅ Redis
✅ Laravel Octane(可选)
✅ Supervisor
✅ MySQL 优化
APP_DEBUG=falsephp artisan config:cacheopcache.enable=1如果你愿意,我可以:
直接告诉我你的 服务器配置 + 并发量 即可。