RaisFastRaisFast
Getting Started

快速启动

5 分钟内让 RaisFast 运行起来 — 安装、启动、开始构建。

本指南将以最快的方式带你从零开始运行 RaisFast 服务。

第 1 步 — 启动服务

确保已安装 RaisFast(参见安装),然后直接运行:

raisfast

完成。服务默认监听 http://0.0.0.0:9898,所有配置均有合理默认值。

首次运行会发生什么?

  • 数据库 — SQLite 文件自动创建于 ./storage/db/raisfast.db
  • Schema — 所有表通过 IF NOT EXISTS 自动创建
  • APP_KEY — 32 字节加密密钥自动生成并持久化到 .env

验证运行状态

curl http://localhost:9898/health

在浏览器中打开:

URL描述
http://localhost:9898/admin管理后台 SPA
http://localhost:9898/api/docsSwagger UI (OpenAPI)
http://localhost:9898/api/v1/routes列出所有已注册路由
http://localhost:9898/api/v1/info服务名称、版本、API 风格

初始化管理员

创建初始管理员账号:

# 使用默认值:admin@raisfast.dev / admin / admin123
raisfast db seed

# 或指定凭据
raisfast db seed --email admin@example.com --username superadmin --password MyStr0ngP@ss

种子命令是幂等的 — 如果用户名已存在则跳过。

测试 API

# 管理员登录
curl -X POST http://localhost:9898/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"admin@raisfast.dev","password":"admin123"}'

# 创建文章(将 TOKEN 替换为登录返回的 access_token)
curl -X POST http://localhost:9898/api/v1/admin/posts \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer TOKEN" \
  -d '{"title":"Hello World","content":"My first post!"}'

第 2 步 — 创建项目(可选)

如需使用内容类型和插件的结构化项目,使用脚手架命令:

# 创建空白项目
raisfast app new my-site

# 使用模板创建
raisfast app new my-blog -t blog
raisfast app new my-shop -t ecommerce

生成的目录结构:

my-site/
├── config.toml
├── .env.example
├── .gitignore
├── extensions/
│   ├── content_types/    — 内容类型 TOML 定义
│   └── plugins/          — 插件 JS/Lua/WASM 文件
├── migrations/
├── data/
├── logs/
└── public/uploads/

然后配置并运行:

cd my-site
cp .env.example .env
raisfast db migrate   # 仅用于后续的 Schema 更新
raisfast db seed
raisfast

常用配置

最简 .env 配置:

APP_ENV=development
DATABASE_URL=sqlite:./storage/db/raisfast.db?mode=rwc

其余设置都有合理的默认值。以下是最重要的环境变量:

# ── 核心 ──
APP_HOST=0.0.0.0
APP_PORT=9898
APP_ENV=development           # development | production

# ── 安全(生产环境必须修改) ──
JWT_SECRET=change-me-in-production-at-least-32-chars
JWT_ACCESS_EXPIRES=900        # 15 分钟
JWT_REFRESH_EXPIRES=604800    # 7 天

# ── 存储 ──
STORAGE_DRIVER=local          # local | s3
UPLOAD_DIR=./storage/uploads
MAX_UPLOAD_SIZE=104857600     # 100 MB

# ── 插件 ──
PLUGIN_DIR=./extensions/plugins
PLUGIN_HOT_RELOAD=false

# ── 搜索 ──
SEARCH_ENGINE=none            # none | tantivy

# ── 后台任务 ──
WORKER_ENABLED=false
WORKER_CONCURRENCY=2

生产环境检查清单

部署到生产环境前,请确保:

  1. 修改 JWT_SECRET — 生产模式下服务会拒绝使用默认值启动
  2. 设置 CORS_ORIGINS — 生产模式下服务会拒绝未设置此项的启动
  3. 设置 APP_ENV=production — 启用生产安全检查
  4. 启用 TLS — 通过 TLS_CERT_PATH / TLS_KEY_PATH 或反向代理
  5. 设置 BASE_URL — 正确的媒体 URL、RSS 订阅等所必需
  6. 备份策略 — 使用 raisfast db backup 或配置外部备份
APP_ENV=production
JWT_SECRET=<your-strong-secret-at-least-32-chars>
CORS_ORIGINS=https://yourdomain.com
BASE_URL=https://api.yourdomain.com

CLI 参考

RaisFast 提供了功能完整的命令行工具:

raisfast <command> [options]

服务管理

命令描述
raisfast server start启动 HTTP 服务
raisfast server stop停止运行中的服务
raisfast server restart重启服务
raisfast server status查看运行状态

数据库

命令描述
raisfast db migrate执行待处理的迁移
raisfast db rollback回滚上一批迁移
raisfast db backup备份数据库到带时间戳的文件
raisfast db seed创建初始管理员

脚手架

命令描述
raisfast app new <name>创建新项目
raisfast ct new <name>创建内容类型 TOML 文件
raisfast plugin new <id>创建插件脚手架

诊断

命令描述
raisfast doctor系统诊断
raisfast route list列出所有已注册路由
raisfast route stats路由统计

下一步

On this page