部署上线
Railway 部署指南
支持后端和数据库的全栈部署平台
Railway 适合需要后端服务和数据库的全栈项目,配置简单,按用量付费。
为什么选择 Railway
- 支持多种语言:Node.js、Python、Go、Ruby 等
- 内置数据库:PostgreSQL、MySQL、Redis、MongoDB
- 自动扩容:根据流量自动调整资源
- 简单定价:$5 免费额度,超出按用量付费
- 零配置:自动检测项目类型
快速部署
部署 Web 应用
- 访问 railway.app
- 用 GitHub 登录
- 点击 "New Project"
- 选择 "Deploy from GitHub repo"
- 选择仓库
- Railway 自动检测并部署
添加数据库
- 在项目中点击 "New"
- 选择数据库类型(PostgreSQL、MySQL、Redis 等)
- 数据库自动创建并生成连接信息
- 环境变量自动注入到应用
配置环境变量
Railway 自动注入数据库连接:
DATABASE_URL:PostgreSQL 连接字符串REDIS_URL:Redis 连接字符串
添加自定义变量:
- 选择服务 → Variables
- 添加变量名和值
- 保存后自动重新部署
支持的项目类型
Node.js
自动检测 package.json,执行:
npm install
npm start自定义启动命令:
{
"scripts": {
"start": "node server.js"
}
}Python
自动检测 requirements.txt 或 Pipfile:
pip install -r requirements.txt
python main.pyDocker
如果有 Dockerfile,自动使用 Docker 构建。
配置域名
- 选择服务 → Settings → Domains
- 点击 "Generate Domain" 获取免费域名
- 或添加自定义域名
Railway 自动配置 HTTPS。
数据库管理
连接数据库
Railway 提供 Web 界面查询:
- 选择数据库服务
- 点击 "Data" 标签
- 可以直接执行 SQL
备份数据库
# 导出 PostgreSQL
railway run pg_dump $DATABASE_URL > backup.sql
# 导入
railway run psql $DATABASE_URL < backup.sql监控和日志
查看日志
- 选择服务
- 点击 "Deployments"
- 查看实时日志
监控资源
在服务页面查看:
- CPU 使用率
- 内存使用
- 网络流量
定价
免费额度:
- $5 免费额度/月
- 约等于 500 小时运行时间
超出后按用量付费:
- $0.000463/GB-hour(内存)
- $0.000231/vCPU-hour(CPU)
对于 MVP,通常每月 $5-20。
常见问题
应用启动失败
检查:
- 启动命令是否正确
- 端口是否正确(Railway 自动注入
PORT环境变量) - 依赖是否完整
数据库连接失败
- 确认
DATABASE_URL环境变量存在 - 检查数据库服务是否运行
- 查看连接日志
如何设置端口
Railway 自动注入 PORT 环境变量:
const PORT = process.env.PORT || 3000
app.listen(PORT)进阶配置
使用 railway.json
{
"build": {
"builder": "NIXPACKS",
"buildCommand": "npm run build"
},
"deploy": {
"startCommand": "npm start",
"restartPolicyType": "ON_FAILURE"
}
}配置健康检查
{
"deploy": {
"healthcheckPath": "/health",
"healthcheckTimeout": 300
}
}