使用 Railway 部署
开发者友好 PaaS,git push 部署、数据库和私有网络开箱即用。
平台入门
为什么
Railway 一键数据库(Postgres、Redis、MySQL)和 git push 应用部署,服务间私有网络。全栈应用(DB + app + worker)上线的最快方式。
平台即服务采用率 2024 年增长 24%,团队从虚拟机管理转向 git push 部署。the cloud infrastructure market reached $330B in 2024, growing 22% year-over-year (Synergy Research),PaaS 层捕获了大多数新工作负载。
何时使用
MVP、副项目和小团队想要 Heroku 式简单和现代 UX 用 Railway。企业合规需求避免。
如何做
1. 连接 — railway.app → 新建项目 → 连接 GitHub 仓库
2. 部署 — git push,或 railway up CLI 部署
3. 数据库 — + 新建 → PostgreSQL/Redis,自动获取 DATABASE_URL
4. 环境变量 — 面板设置或引用其他服务
5. 网络 — 服务经私有网络自动连接
6. 域名 — 设置 → 网络 → 自定义域名
7. 扩缩 — 设置 → 扩缩 → 副本
示例
# railway.json 或 railway.toml — 构建配置
{
"build": { "builder": "NIXPACKS" },
"deploy": { "startCommand": "npm start", "restartPolicyType": "ON_FAILURE" }
}
# CLI 部署
npm i -g @railway/cli
railway init # 关联项目
railway up # 部署
railway open # 打开部署 URL
# 加 Postgres 数据库,应用引用
# 应用经私有网络自动获取 DATABASE_URL
常见问题
- ⚠构建失败 — Nixpacks 无法检测框架,railway.json 指定构建/启动命令
- ⚠无法连数据库 — 服务不在同项目,私有网络项目范围
- ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致
最佳实践
- ✓用 Railway 内置数据库 — 自动配置私有网络,无需连接设置
- ✓railway.json 设 healthcheckPath — Railway 自动重启不健康服务
- ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求