开发者为什么迁移
Heroku 的 dyno 模式将计算小时数与附加组件分开计费,这使得随着应用增长,每月费用越来越难以预估。Square Cloud 采用了不同的方式:- BRL 计价的可预测固定价格 —— 一个套餐价格涵盖 RAM、vCPU 和 Blob 存储,不会有计量式的附加账单叠加上去。参见套餐与价格。
- 专属资源 —— RAM 和 vCPU 都为你的应用预留,而不是尽力而为的共享容量。
- 秒级部署 —— 上传一个 zip 文件或通过 CLI 推送,应用即可运行,无需构建队列。
概念对照
迁移步骤
1
创建你的配置文件
将你的 会变成:对于 worker 进程类型,去掉
Procfile 替换为项目根目录下的 squarecloud.app 文件。像这样的 Heroku Procfile:squarecloud.app
SUBDOMAIN,改为将 START 设置为你的 worker 启动命令。查看配置文件参考了解每个字段的详情。2
设置你的环境变量
导出你的 Heroku Config Vars(
heroku config),并在 Square Cloud 上设置相同的键,可以从控制面板的环境变量面板设置,也可以上传 .env 文件:3
部署
4
配置你的 DNS
应用在 自定义域名需要有效的 Standard 套餐或更高级别。
<subdomain>.squareweb.app 上线后,将你域名的 DNS 指向 Square Cloud,并通过 CLI 绑定:需要提前规划的主要差异
- 地区与延迟。 Square Cloud 的数据中心位于纽约 —— 参见平台概览了解基础设施详情。如果你的大部分用户所在地区与当前 Heroku dyno 所在地区不同,请在切换前先测量延迟。
- 没有免费 dyno 层级。 Square Cloud 没有等价的免费 dyno —— 运行任何应用都需要有效的付费套餐。参见套餐与价格,选择适合你工作负载的档位。
- 数据库需单独迁移。 迁移 Heroku Postgres 的数据意味着需要先导出它(例如使用
pg_dump),再恢复到一个新的 Square Cloud 托管数据库中 —— 请为切换规划一个维护窗口。

