Cloudflare Workers 免费方案教学 2026:无伺服器部署香港开发者指南

4次阅读
没有评论

翻译说明:本文为 MobileSetting 原文 的繁体中文转简体中文翻译。除繁简转换、明显错别字和排版外,保留原文标题、事实、观点、数字、结构和第一人称表达。

Cloudflare Workers 免费版每日 100,000 次请求、10ms CPU 时间限制,适合部署轻量 API、URL 重定向、Webhook Handler,全球边缘部署延迟极低,香港用家存取速度快。

香港开发者部署后端服务,传统方法系租 VPS 或用 AWS/GCP,但呢啲方案要管理伺服器、又有起步费用。Cloudflare Workers 系无伺服器(Serverless)方案,代码跑喺 Cloudflare 全球 300+ 个节点,免费版已足够大部分个人项目,而且部署只需一条指令。


Workers 系咩?同传统伺服器有咩分别?

Cloudflare Workers 系一个「边缘运算」(Edge Computing)平台。你写 JavaScript 或 TypeScript 函数,Cloudflare 把它部署到全球 300+ 个数据中心,每次有请求进来,最近嘅节点会即时执行你嘅代码。

同传统伺服器嘅分别:

比较项目 传统 VPS Cloudflare Workers
收费模式 月费固定($5+/月) 按请求数计,免费版每日 10 万次
延迟 视乎伺服器地点 全球边缘,延迟通常 <50ms
维护 要自己管伺服器、更新、安全 完全托管,零维护
冷启动 无(长期运行) Workers 无冷启动问题(比 Lambda 快)
限制 相对灵活 每次请求 CPU 时间有限制

Workers 最适合嘅场景:轻量 API 端点、URL 重定向、请求过滤、Webhook 接收、静态资产缓存逻辑。唔适合需要长时间计算或大量 CPU 嘅任务。


免费版限制同付费版比较

清楚了解限制先,唔好做到一半先发现超出限额。

免费版(Free):

  • 每日 100,000 次请求
  • 每次请求最多 10ms CPU 时间(墙钟时间 30 秒)
  • 128MB 记忆体
  • Workers KV:每日 100,000 次读取、1,000 次写入、1GB 存储
  • Workers 数量:上限 100 个
  • 子域名格式:你的名字.workers.dev(免费)

付费版($5/月起,Workers Paid):

  • 每月 1,000 万次请求免费,之后 $0.50/百万次
  • CPU 时间提升至 30ms(Unbound 方案更可延长至 15 分钟)
  • 支援 Cron Triggers(定时任务)
  • Workers KV 写入上限大幅提升
  • 自订域名绑定(唔需要额外费用)

对香港小型开发者嚟讲,免费版通常足够:每日 10 万次请求系几个小型 API 嘅总和,对个人项目已相当充裕。


第一个 Worker 部署步骤(Hello World API)

准备工作:

  1. 建立 Cloudflare 帐号(cloudflare.com,免费)
  2. 安装 Node.js(建议 18+)
  3. 安装 Wrangler CLI(Cloudflare 嘅 Workers 工具):
    npm install -g wrangler

步骤一:登入 Cloudflare

wrangler login

浏览器会打开授权页面,点允许后返回 Terminal。

步骤二:建立新 Worker 项目

wrangler init my-first-worker
cd my-first-worker

选择模板时,选「Hello World」Worker。

步骤三:查看默认代码
打开 src/index.js,你会见到类似以下代码:

export default {
  async fetch(request, env, ctx) {
    return new Response('Hello World!', {
      headers: { 'Content-Type': 'text/plain' },
    });
  },
};

呢段代码嘅意思:每次有 HTTP 请求进来,返回「Hello World!」。

步骤四:本地测试

wrangler dev

在本地启动开发伺服器,打开 http://localhost:8787 就可以测试。

步骤五:部署到 Cloudflare

wrangler deploy

部署完成后,你会得到一个 URL,格式系 https://my-first-worker.你的用户名.workers.dev,全球即时可存取。整个过程唔需要管理任何伺服器。


实用案例(Webhook、URL Shortener、API Proxy)

案例一:Telegram Webhook Handler
接收 Telegram Bot 嘅 Webhook 通知,Workers 非常适合:

export default {
  async fetch(request) {
    if (request.method !== 'POST') {
      return new Response('Method not allowed', { status: 405 });
    }
    const body = await request.json();
    const message = body?.message?.text || '';
    // 处理讯息逻辑
    console.log('收到讯息:', message);
    return new Response('OK');
  }
};

案例二:URL Shortener(配合 KV 存储)

export default {
  async fetch(request, env) {
    const url = new URL(request.url);
    const slug = url.pathname.slice(1); // 去掉开头 /
    const target = await env.LINKS.get(slug); // 从 KV 读取目标 URL
    if (target) {
      return Response.redirect(target, 301);
    }
    return new Response('Link not found', { status: 404 });
  }
};

案例三:API Proxy(加入 CORS Headers)
某些 API 唔支援 CORS,可以用 Workers 做代理:

export default {
  async fetch(request) {
    const targetUrl = 'https://api.example.com' + new URL(request.url).pathname;
    const response = await fetch(targetUrl, request);
    const newHeaders = new Headers(response.headers);
    newHeaders.set('Access-Control-Allow-Origin', '*');
    return new Response(response.body, {
      status: response.status,
      headers: newHeaders,
    });
  }
};

Workers KV 同 D1 Database 简介

单靠 Workers 函数本身无法储存数据,需要配合储存服务:

Workers KV(Key-Value 存储)

  • 类似 Redis 嘅键值对存储
  • 适合:Session 数据、配置、短连结映射
  • 免费版:每日 10 万次读取,1,000 次写入
  • 特点:全球复制,读取极快;但写入后最终一致性,唔适合需要即时一致嘅场景

D1 Database(SQLite)

  • Cloudflare 提供嘅 SQLite 数据库,直接喺 Worker 里用 SQL 查询
  • 适合:用户数据、内容管理、简单应用后端
  • 免费版:每日 500 万行读取,10 万行写入,5GB 存储
  • 用法:在 wrangler.toml 绑定 D1 后,用 env.DB.prepare() 执行 SQL

两个存储服务免费额度对个人项目都相当足够,加埋 Workers 免费运算,基本上可以零成本建立完整嘅轻量后端。


常见问题 FAQ

Q1:Workers 可以用 Node.js 套件吗?
部分可以。Workers 运行环境唔系 Node.js,而系 V8 引擎(同 Chrome 一样),但 Cloudflare 提供 Node.js 兼容层(nodejs_compat flag),常用套件如 zodhono 均可用。但依赖 Node.js 原生模组(如 fschild_process)嘅套件唔支援。

Q2:Workers 同 Cloudflare Pages Functions 有咩分别?
Pages Functions 系 Workers 嘅简化版,专为静态网站添加后端功能,适合配合 Pages 部署嘅项目。Workers 系独立服务,更灵活,适合纯 API 或复杂后端逻辑。功能上 Pages Functions 最终都系跑喺 Workers 基础架构。

Q3:免费版 10ms CPU 时间够用吗?
对轻量请求足够。10ms CPU 时间可以执行几千行 JavaScript,做数据库查询、JSON 处理、URL 重定向等完全够。但如果系复杂计算(影像处理、PDF 生成),需要升付费版或另选方案。

Q4:Workers 可以绑定自订域名吗?
可以,但需要把域名加入 Cloudflare(改 nameserver)。加入后,喺 Workers → Triggers → Custom Domains 里添加域名即可。免费帐号支援此功能,唔需要付费。

Q5:Workers 有冇 Hong Kong 节点?
有。Cloudflare 喺香港有多个节点,本地用家存取 Workers 延迟通常系个位数毫秒(<10ms),远比部署喺其他地区嘅 AWS/GCP 快。

正文完
 0
bdspAdmin
版权声明:本站原创文章,由 bdspAdmin 于2026-07-15发表,共计3697字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)