首页主机资讯Laravel在Linux上部署有哪些技巧

Laravel在Linux上部署有哪些技巧

时间2026-01-22 00:51:03发布访客分类主机资讯浏览931
导读:Linux上部署 Laravel 的实用技巧 一 环境准备与基础配置 选择 PHP 8.1+(或项目所需版本),安装常用扩展:openssl、pdo、mbstring、tokenizer、xml、ctype、json、curl、gd、zi...

Linux上部署 Laravel 的实用技巧

一 环境准备与基础配置

  • 选择 PHP 8.1+(或项目所需版本),安装常用扩展:openssl、pdo、mbstring、tokenizer、xml、ctype、json、curl、gd、zip、bcmath;建议使用 Nginx + php-fpm,数据库用 MySQL/MariaDB
  • 安装 ComposerGit,创建项目目录(如 /var/www/your-app),Web 根目录必须指向 /public
  • 生产环境务必设置:.env → APP_ENV=production、APP_DEBUG=false,并配置 APP_URL=https://yourdomain.com
  • 生成应用密钥:php artisan key:generate;如需队列/任务,准备 队列工作者计划任务
  • 建议准备 SSL 证书(如 Let’s Encrypt)以便启用 HTTPS

二 Web 服务器与权限安全要点

  • Nginx 站点示例(按需替换路径与 PHP 版本/套接字):
    • 核心配置:root 指向 /var/www/your-app/public;location / 使用 try_files $uri $uri/ /index.php?$query_string; ;location ~ .php$ 使用 fastcgi_pass unix:/run/php/php8.1-fpm.sock; 并设置 SCRIPT_FILENAME $document_root$fastcgi_script_name;
    • 安全头与隐藏敏感资源:添加 X-Frame-Options、X-XSS-Protection、X-Content-Type-Options,并对 .env 等敏感文件进行屏蔽。
  • 权限与属主:将 storage、bootstrap/cache 目录属主设为 www-data(或你的 Web 服务用户),权限 775;确保 public 可访问。
  • 可选:使用 Certbot 获取并自动续期 Let’s Encrypt 证书,强制 HTTPS

三 部署与性能优化清单

  • 代码与依赖:拉取指定分支(如 main),执行 composer install --optimize-autoloader --no-dev 以移除开发依赖并优化自动加载。
  • 配置与缓存:生产环境执行 php artisan config:cache、php artisan route:cache;如用视图缓存且模板有变更,再执行 php artisan view:cache
  • 数据库:执行 php artisan migrate --force(必要时 db:seed);确保 .env 中数据库配置正确。
  • 静态资源:运行 php artisan storage:link 以创建软链,保证 storage/app/public 可公开访问。
  • 计划任务:添加 Laravel 调度器 到系统 Cron(如:***** * * * * cd /var/www/your-app & & php artisan schedule:run > > /dev/null 2> & 1**)。
  • 队列:启动 php artisan queue:work --queue=default --tries=3 --sleep=3 或使用 Supervisor 守护进程。

四 自动化部署与零停机发布

  • SSH 免密:本地生成密钥并在服务器 ~/.ssh/authorized_keys 添加公钥,便于无交互拉取代码。
  • 部署脚本范例(deploy.sh):
    • 拉取代码 → 安装依赖(–no-dev) → 生成密钥 → 迁移(–force) → 清/重建缓存 → 重启服务。
    • 可扩展:备份旧版本、回滚、执行 php artisan down/up、清理旧发布目录。
  • CI/CD:使用 GitHub Actions/GitLab CI/Jenkins 在推送 main 时自动运行测试、构建与部署;示例步骤包含 checkout → 设置 PHP → composer install → migrate --force → 重启服务
  • 零停机思路:多目录发布(如 releases/v1、v2),软链 current 切换;部署完成后再执行 php artisan config:clear → config:cache 等,避免缓存旧路径。

五 排错与运维要点

  • 查看 Nginx 错误日志(如 /var/log/nginx/error.log)与 Laravel 日志storage/logs/laravel.log)定位 500/404/权限等问题。
  • 验证 Nginx 配置php-fpm 状态:执行 sudo nginx -t & & sudo systemctl reload nginx;确认 php-fpm 监听套接字与 Nginx 配置一致。
  • 文件与目录权限:确保 storage、bootstrap/cache 可写;避免将 .env 与敏感文件纳入版本控制。
  • 队列与计划任务:确认 SupervisorCron 正在运行;队列异常时检查日志与失败任务重试策略。
  • 监控与告警:结合 Prometheus + Grafana 或日志采集,监控 QPS、响应时延、错误率、队列积压 等关键指标。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Laravel在Linux上部署有哪些技巧
本文地址: https://pptw.com/jishu/789321.html
Laravel框架在Linux环境稳定吗 如何解决Linux中Laravel的兼容性问题

游客 回复需填写必要信息