9.6 KiB
9.6 KiB
部署教程
🌍 Language / 语言
本指南详细介绍如何将 AI Proxy Worker 部署到 Cloudflare Workers 平台。我们提供两种部署方式,你可以根据自己的偏好选择。
🎯 部署方式对比
| 特性 | 本地 CLI 部署 | 网页部署 |
|---|---|---|
| 难度 | 中等 | 简单 |
| 速度 | 快速 | 中等 |
| 自动化 | 高 | 低 |
| 版本控制 | 支持 Git | 手动管理 |
| 批量操作 | 支持脚本 | 单个操作 |
| 推荐场景 | 开发者、CI/CD | 新手、快速测试 |
📋 部署前准备
1. 注册 Cloudflare 账户
- 访问 Cloudflare
- 点击 "Sign Up" 注册免费账户
- 验证邮箱地址
- 登录到 Cloudflare Dashboard
2. 获取 DeepSeek API 密钥
- 访问 DeepSeek 开放平台
- 注册并登录账户
- 前往 "API Keys" 页面
- 点击 "Create new secret key"
- 复制并保存密钥(注意:只显示一次)
3. 准备项目文件
确保你已经完成了 安装指南 中的步骤,并且项目文件已就绪。
🚀 方法一:本地 CLI 部署(推荐)
这是推荐的部署方式,特别适合开发者和需要自动化部署的场景。
步骤 1:登录 Cloudflare
# 登录 Cloudflare 账户
wrangler login
这会:
- 打开浏览器窗口
- 跳转到 Cloudflare 授权页面
- 点击 "Allow" 授权 Wrangler
- 自动返回终端,显示登录成功
故障排除:
# 如果浏览器没有自动打开
wrangler login --browser=false
# 手动复制显示的 URL 到浏览器
# 检查登录状态
wrangler whoami
步骤 2:配置项目信息
编辑 wrangler.toml 文件(可选):
name = "ai-proxy-worker" # 你的 Worker 名称,可以修改
main = "worker.js"
compatibility_date = "2025-01-01"
# 可选:自定义域名配置
# [[routes]]
# pattern = "ai.yourdomain.com/*"
# zone_name = "yourdomain.com"
步骤 3:设置环境变量
设置必需的密钥:
# 设置 DeepSeek API 密钥(必需)
wrangler secret put DEEPSEEK_API_KEY
# 输入提示:请输入 DEEPSEEK_API_KEY 的值:
# 粘贴你的 DeepSeek API 密钥
# 设置代理访问密钥(强烈推荐)
wrangler secret put PROXY_KEY
# 输入提示:请输入 PROXY_KEY 的值:
# 输入一个自定义的强密码,如:sk-proxy-your-secret-key-2025
密钥设置建议:
DEEPSEEK_API_KEY: 从 DeepSeek 平台获取的真实 API 密钥PROXY_KEY: 自定义的访问密钥,建议使用强密码生成器
步骤 4:部署到 Cloudflare Workers
# 部署项目
wrangler publish
成功输出示例:
⛅️ wrangler 3.15.0
-------------------
✨ Successfully published your Worker to
https://ai-proxy-worker.your-subdomain.workers.dev
✨ Success! Your worker is now live at
https://ai-proxy-worker.your-subdomain.workers.dev
步骤 5:测试部署
# 健康检查
curl https://ai-proxy-worker.your-subdomain.workers.dev/
# API 测试
curl -X POST https://ai-proxy-worker.your-subdomain.workers.dev/chat \
-H "Authorization: Bearer YOUR_PROXY_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "你好!"}]
}'
🌐 方法二:Cloudflare 网页部署
适合新手用户或需要快速测试的场景。
步骤 1:准备代码文件
- 打开项目目录中的
worker.js文件 - 全选并复制所有代码内容(Ctrl+A, Ctrl+C)
步骤 2:创建 Worker
- 登录 Cloudflare Dashboard
- 在左侧菜单中点击 "Workers & Pages"
- 点击 "Create application" 按钮
- 选择 "Create Worker" 选项
- 输入 Worker 名称,如:
ai-proxy-worker - 点击 "Deploy" 按钮
步骤 3:编辑代码
- 在 Worker 页面点击 "Edit code" 按钮
- 删除编辑器中的默认代码
- 粘贴复制的
worker.js内容 - 点击 "Save and deploy" 按钮
步骤 4:设置环境变量
- 返回 Worker 主页面
- 点击 "Settings" 标签页
- 找到 "Environment variables" 部分
- 点击 "Add variable" 按钮
添加以下变量:
变量 1:DEEPSEEK_API_KEY
- Variable name:
DEEPSEEK_API_KEY - Value: 你的 DeepSeek API 密钥
- Type: Secret (重要:选择加密类型)
变量 2:PROXY_KEY
- Variable name:
PROXY_KEY - Value: 自定义的访问密钥
- Type: Secret
- 点击 "Save and deploy" 按钮
步骤 5:获取部署 URL
部署完成后,你会看到 Worker 的访问 URL:
https://ai-proxy-worker.your-subdomain.workers.dev
步骤 6:测试部署
使用浏览器或 curl 测试:
# 健康检查
curl https://your-worker-url.workers.dev/
# API 调用测试
curl -X POST https://your-worker-url.workers.dev/chat \
-H "Authorization: Bearer YOUR_PROXY_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "Hello!"}]
}'
⚙️ 高级部署配置
自定义域名
如果你有自己的域名,可以绑定到 Worker:
方法 1:通过 Dashboard
- 在 Worker 页面点击 "Triggers" 标签
- 点击 "Add Custom Domain"
- 输入你的域名,如:
api.yourdomain.com - 按照提示完成 DNS 配置
方法 2:通过 wrangler.toml
name = "ai-proxy-worker"
main = "worker.js"
compatibility_date = "2025-01-01"
[[routes]]
pattern = "api.yourdomain.com/*"
zone_name = "yourdomain.com"
环境配置
为不同环境设置不同的配置:
name = "ai-proxy-worker"
main = "worker.js"
compatibility_date = "2025-01-01"
# 生产环境
[env.production]
name = "ai-proxy-worker-prod"
vars = { ENVIRONMENT = "production" }
# 开发环境
[env.development]
name = "ai-proxy-worker-dev"
vars = { ENVIRONMENT = "development" }
部署到特定环境:
# 部署到开发环境
wrangler publish --env development
# 部署到生产环境
wrangler publish --env production
📊 部署后验证
1. 功能测试
健康检查:
curl https://your-worker.workers.dev/
# 期望响应:{"status":"ok","service":"AI Proxy Worker","timestamp":"..."}
API 调用测试:
curl -X POST https://your-worker.workers.dev/chat \
-H "Authorization: Bearer YOUR_PROXY_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "user", "content": "你好,请介绍一下你自己"}
]
}'
流式响应测试:
curl -X POST https://your-worker.workers.dev/chat \
-H "Authorization: Bearer YOUR_PROXY_KEY" \
-H "Content-Type: application/json" \
-H "Accept: text/event-stream" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "写一首短诗"}],
"stream": true
}'
2. 性能测试
# 响应时间测试
curl -w "@curl-format.txt" -s -o /dev/null https://your-worker.workers.dev/
# 创建 curl-format.txt 文件:
echo " time_namelookup: %{time_namelookup}\n
time_connect: %{time_connect}\n
time_appconnect: %{time_appconnect}\n
time_pretransfer: %{time_pretransfer}\n
time_redirect: %{time_redirect}\n
time_starttransfer: %{time_starttransfer}\n
----------\n
time_total: %{time_total}\n" > curl-format.txt
3. 错误处理测试
# 测试未授权访问
curl -X POST https://your-worker.workers.dev/chat \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-chat","messages":[]}'
# 期望:401 Unauthorized
# 测试无效路径
curl https://your-worker.workers.dev/invalid-path
# 期望:404 Not Found
# 测试无效请求体
curl -X POST https://your-worker.workers.dev/chat \
-H "Authorization: Bearer YOUR_PROXY_KEY" \
-H "Content-Type: application/json" \
-d 'invalid-json'
# 期望:400 Bad Request
🔄 更新和维护
更新代码
CLI 方式:
# 修改代码后重新部署
wrangler publish
# 查看部署历史
wrangler deployments list
网页方式:
- 在 Cloudflare Dashboard 中找到你的 Worker
- 点击 "Edit code"
- 修改代码
- 点击 "Save and deploy"
管理环境变量
# 查看已设置的密钥(不显示值)
wrangler secret list
# 更新密钥
wrangler secret put DEEPSEEK_API_KEY
# 删除密钥
wrangler secret delete OLD_KEY_NAME
监控和日志
# 实时查看日志
wrangler tail
# 查看部署状态
wrangler deployments list
# 查看使用统计
wrangler metrics
🚨 常见部署问题
认证失败
# 重新登录
wrangler logout
wrangler login
部署超时
# 检查网络连接
curl -I https://api.cloudflare.com/
# 使用代理(如果需要)
wrangler publish --proxy http://proxy.example.com:8080
环境变量未生效
# 确认密钥已设置
wrangler secret list
# 重新设置密钥
wrangler secret put DEEPSEEK_API_KEY
Worker 无法访问
- 检查 Worker 状态是否为 "Active"
- 确认 URL 拼写正确
- 查看 Cloudflare 服务状态页面
🎯 下一步
部署完成后,你可以:
部署成功? 👉 开始使用 API