部署指南
详细的 Cloudflare Workers 部署步骤。
前置要求
- Node.js 18+ 和 npm
- Cloudflare 账号(免费版即可)
- Git
步骤 1: 克隆项目
bash
git clone https://github.com/lijiaxu2021/extalk.git
cd extalk步骤 2: 安装依赖
bash
npm install步骤 3: 配置环境变量
复制环境变量配置文件:
bash
cp wrangler.toml.example wrangler.toml编辑 wrangler.toml,填入你的配置:
toml
name = "fuwari-comments"
main = "src/index.ts"
compatibility_date = "2024-01-01"
[vars]
# hCaptcha 密钥(https://www.hcaptcha.com)
HCAPTCHA_SECRET_KEY = "你的 hCaptcha 密钥"
HCAPTCHA_SITE_KEY = "你的 hCaptcha Site Key"
# Resend 邮件 API(https://resend.com)
RESEND_API_KEY = "你的 Resend API 密钥"
# JWT 密钥(随机生成的密钥)
JWT_SECRET = "随机生成的密钥"
# 管理员账户
ADMIN_EMAIL = "管理员邮箱"
ADMIN_PASS = "管理员密码"
# 管理员后台 URL 路径(可自定义)
ADMIN_URL = "/upxuuadmin"
# 基础 URL(部署后自动获取)
BASE_URL = "https://your-worker.workers.dev"
# 加载模式:pagination | infinite | loadmore
LOAD_MODE = "pagination"
[[d1_databases]]
binding = "DB"
database_name = "fuwari_comments_db"
database_id = "你的 D1 数据库 ID"步骤 4: 登录 Cloudflare
bash
npx wrangler login这会打开浏览器让你授权。
步骤 5: 创建 D1 数据库
bash
npx wrangler d1 create fuwari_comments_db记录返回的 database_id,填入 wrangler.toml。
步骤 6: 初始化数据库
执行 SQL 脚本创建表结构:
bash
npx wrangler d1 execute fuwari_comments_db --file=migrate.sql步骤 7: 部署
bash
npx wrangler deploy首次部署会创建 Worker。
步骤 8: 初始化管理员账户
访问:
https://your-worker.workers.dev/init-admin-999看到 "Admin initialized" 表示成功。
步骤 9: 访问管理后台
访问配置的管理员 URL(默认 /upxuuadmin):
https://your-worker.workers.dev/upxuuadmin使用配置的管理员账号登录。
💡 提示: 你可以在
ADMIN_URL环境变量中自定义管理员后台路径。
步骤 10: 前端集成
在博客页面中添加:
html
<div id="extalk-comments"></div>
<script src="https://your-worker.workers.dev/sdk.js"></script>获取必要密钥
hCaptcha
- 访问 https://www.hcaptcha.com/
- 注册账号并创建站点
- 获取 Site Key 和 Secret Key
- 填入
wrangler.toml:HCAPTCHA_SITE_KEY= 你的 Site KeyHCAPTCHA_SECRET_KEY= 你的 Secret Key
Resend(邮件服务)
- 访问 https://resend.com/
- 注册账号
- 创建 API Key
- 验证发件域名
- 填入
wrangler.toml
JWT Secret
可以使用随机字符串:
bash
openssl rand -hex 32或使用在线生成器。
验证部署
检查 Worker
bash
npx wrangler tail实时查看 Worker 日志。
检查数据库
bash
npx wrangler d1 execute fuwari_comments_db --command="SELECT * FROM comments LIMIT 5"测试 API
bash
curl https://your-worker.workers.dev/comments?url=/test常见问题
部署失败
检查:
- Node.js 版本是否 >= 18
- 是否正确登录 Cloudflare
wrangler.toml配置是否正确
数据库错误
确保:
- D1 数据库已创建
- SQL 脚本已执行
database_id正确
CORS 错误
在管理后台添加允许的域名:
- 访问管理后台
- 进入"域名/设置"
- 添加你的博客域名