用途:这是一份从 Forge/DigitalOcean 迁移约 35 个站点后整理的分阶段清单,用于把 Laravel 或静态站点整体搬到 Laravel Cloud。需按阶段顺序执行,不可跳过预检。涉及的相关技能有 laravel-cloud-ops、openprovider-dns、flare、agent-browser;访问服务商账户前先读 spatie-ops 了解认证、共享 API helper 和 Forge/DO 身份检查。
基本规则:不打印密钥,令牌来自密码管理器并内联使用、不落盘;删除或关机任何资源(Forge 服务器、droplet、bucket、数据库集群、保留 IP)都需所有者逐项明确批准;开始前确认哪些步骤已获长期授权;每次改 DNS 或 nginx 前先备份并 chmod 600;长耗时任务放后台执行。
主要流程:预检(先确认 DNS 控制权,只读盘点旧服务器的站点、守护进程、cron、数据库、媒体、PHP/Laravel 版本、流量与队列);升级到 Laravel 13/PHP 8.5(保留 utf8mb4、处理旧密码哈希、移除 Blade 旧语法、用 Cloud 托管队列替代 Horizon、迁移到 Flare);Cloud 配置(应用、环境、独立数据库集群、托管队列、bucket、边缘缓存头、邮件、域名与验证记录);数据(用 utf8mb4 导出、去 DEFINER、异地保存、临时开公网端点导入、rclone 同步媒体并核对行数与字节);验证(用 curl --resolve 直连 Cloud 源站、后台测试、媒体转换、CORS、emoji、邮件、截图对比);切换(维护期、冻结旧站、最终同步、旧服务器反向代理到 Cloud、改 DNS 并逐台权威 NS 查询、必要时重建域名、清缓存);退役(逐项审批后删除,检查残留指向旧 IP 的记录以防子域接管,最后删除 droplet 并清理备份与监控)。
限制:不适合运行时写本地磁盘的应用(如 Statamic 控制面板编辑、flat-file CMS),因为 Cloud 磁盘每次部署都会清空。Cloud 边缘缓存对 public/ 文件缓存 2 小时且无法单文件清除;托管队列弹性缩容到零、单任务上限 90 秒;调度器只识别 cron 表达式并转为 UTC。其他细节如具体配置未在资料中提供。