RaisFastRaisFast
SSG Integration

SSG 集成

用 RaisFast 作为 Hugo、Astro、Hexo 或任何静态站点生成器的后端。评论、搜索、认证、电商、支付 — 一个二进制全部搞定。

静态站点需要一个后端

Hugo、Astro、Jekyll、Hexo、11ty 等静态站点生成器(SSG)非常快速和简单。但它们有一个根本性的限制:只能生成静态 HTML。一旦你需要动态功能,就卡住了。

现有方案:拼装 5+ 个服务

大多数 SSG 用户最终要拼装一个碎片化的技术栈:

Hugo / Astro(静态页面)
  + Disqus 或 Giscus        → 评论
  + Algolia 或 DocSearch    → 搜索
  + Netlify Forms           → 表单提交
  + Cloudinary              → 媒体管理
  + Auth0 或 Firebase Auth  → 用户登录
  + Stripe                  → 支付
  = 5-8 个账号、账单、API 密钥、维护负担

RaisFast 方案:一个二进制

Hugo / Astro(静态页面)
  + RaisFast → 评论 + 搜索 + 表单 + 媒体 + 认证 + 支付
  = 一个二进制,一个数据源,一次部署

RaisFast 为 SSG 提供什么

功能SSG 用户通常怎么解决RaisFast
评论Disqus(免费版有广告)或 Giscus(依赖 GitHub)内置评论系统,无广告
搜索Algolia(免费额度有限)或仅客户端搜索Tantivy 全文搜索,无限制
表单Netlify Forms 或 Formspree(提交次数有限)无限表单提交
认证Auth0 或 Firebase(配置复杂)JWT + OAuth,简单 API
媒体Cloudinary(付费)或 Git 管理本地存储或 S3
电商静态站没有好方案购物车、订单、商品内置
支付从零接入 Stripe支付宝、微信支付、Stripe 内置
管理后台手动编辑 Markdown 文件React 管理后台
API自动生成 REST API
多租户不可能基于域名的租户隔离

架构

┌─────────────────────────────────────────┐
│              用户浏览器                  │
│                                         │
│  静态 HTML(来自 Hugo/Astro)            │
│       +                                 │
│  动态数据(来自 RaisFast API)           │
│    - 评论组件                            │
│    - 搜索栏                              │
│    - 登录 / 注册                         │
│    - 购物车                              │
└─────────────┬───────────────────────────┘

     ┌────────┴────────┐
     │                 │
     ▼                 ▼
  CDN/Nginx        RaisFast
  (静态文件)      (API 服务)
                   端口 9898
                   ┌─────────────┐
                   │ SQLite / PG │
                   │ 认证         │
                   │ 评论         │
                   │ 搜索         │
                   │ 电商         │
                   │ 支付         │
                   └─────────────┘

快速开始

1. 启动 RaisFast

curl -fsSL https://raisfast.com/install.sh | sh
raisfast

2. 你的 SSG 照常构建静态页面

# Hugo
hugo build

# Astro
astro build

3. 通过 API 连接

// 构建时从 RaisFast 拉取文章
const res = await fetch("http://localhost:9898/api/v1/posts");
const posts = await res.json();

// 或在浏览器端用 JS SDK 调用动态功能
import { RaisFast } from "@raisfast/sdk";
const rf = new RaisFast({ baseUrl: "http://localhost:9898/api" });

选择你的 SSG

SSG教程最适合
HugoHugo + RaisFast →技术博客、文档站、个人站
AstroAstro + RaisFast →现代内容站、开发者博客
HexoHexo + RaisFast →中文技术博客
任意 SSG评论和搜索 →通用评论和搜索集成

部署

你的 SSG 产出和 RaisFast 可以运行在同一台服务器上:

# Nginx 配置
server {
    listen 80;

    # Hugo/Astro 的静态文件
    location / {
        root /var/www/static;
        try_files $uri $uri/ /index.html;
    }

    # RaisFast API
    location /api/ {
        proxy_pass http://127.0.0.1:9898;
    }

    # RaisFast 管理后台
    location /admin {
        proxy_pass http://127.0.0.1:9898;
    }
}

一台服务器,一个 RaisFast 二进制,一个 Nginx 配置。这就是你完整的网站技术栈。

On this page