Laravel在Linux上的最佳实践涵盖环境配置、性能优化、稳定性保障、开发效率提升四大核心方向,以下是具体落地方案:
sudo apt update && sudo apt upgrade -y;安装PHP 7.3+及扩展(php-cli php-fpm php-mysql php-curl php-mbstring php-xml php-zip php-gd php-bcmath);通过composer global require laravel/installer安装Laravel安装器并配置环境变量。server {
listen 80;
server_name yourdomain.com;
root /var/www/yourproject/public;
index index.php index.html;
location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # 匹配PHP版本
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht { deny all; } # 禁止访问.htaccess
}
启用配置后重启Nginx:sudo ln -s /etc/nginx/sites-available/yourproject /etc/nginx/sites-enabled/ && sudo systemctl restart nginx。storage(日志/缓存)和bootstrap/cache(编译文件)可写:sudo chown -R www-data:www-data /var/www/yourproject && sudo chmod -R 755 /var/www/yourproject/storage && sudo chmod -R 755 /var/www/yourproject/bootstrap/cache。php artisan config:cache(缓存配置文件)、php artisan route:cache(缓存路由解析结果),减少重复加载。CACHE_DRIVER和SESSION_DRIVER设置为Redis(CACHE_DRIVER=redis),提升缓存读写速度。php.ini中设置opcache.enable=1、opcache.memory_consumption=128,缓存PHP字节码,加速脚本执行。composer dump-autoload --optimize,减少类加载时间。id、created_at)创建索引,提升查询效率。with()方法预加载关联数据(如User::with('posts')->get())。npm run production,合并并压缩CSS/JS文件。gzip on; gzip_types text/plain text/css application/json;,减少传输体积。php artisan queue:work --daemon,提升主线程响应速度。php.ini中设置log_errors=On、error_log=/var/log/php_errors.log,避免日志文件过大。APP_DEBUG=false(.env文件),隐藏敏感错误信息。listen 443 ssl; ssl_certificate /path/to/cert.pem;)。net.core.somaxconn(连接队列长度,如net.core.somaxconn=1024)、net.ipv4.tcp_max_syn_backlog(SYN队列长度,如net.ipv4.tcp_max_syn_backlog=8192),提升高并发处理能力。npm run hot,修改代码后自动刷新浏览器,无需手动重启。AppServiceProvider.php的boot方法中添加DB::listen(function($query) { Log::info($query->sql); }),快速调试SQL语句。xdebug生产环境),减少内存消耗。