惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
Simon Willison's Weblog
Simon Willison's Weblog
H
Help Net Security
F
Fortinet All Blogs
H
Heimdal Security Blog
S
Schneier on Security
L
LangChain Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
NISL@THU
NISL@THU
P
Palo Alto Networks Blog
J
Java Code Geeks
博客园 - 【当耐特】
The Last Watchdog
The Last Watchdog
W
WeLiveSecurity
www.infosecurity-magazine.com
www.infosecurity-magazine.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Vulnerabilities – Threatpost
I
InfoQ
Recorded Future
Recorded Future
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CERT Recently Published Vulnerability Notes
T
Tenable Blog
腾讯CDC
C
Check Point Blog
量子位
M
MIT News - Artificial intelligence
GbyAI
GbyAI
罗磊的独立博客
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
B
Blog
小众软件
小众软件
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
Stack Overflow Blog
Stack Overflow Blog
P
Proofpoint News Feed
P
Privacy & Cybersecurity Law Blog
V2EX - 技术
V2EX - 技术
T
Threatpost
Engineering at Meta
Engineering at Meta
Attack and Defense Labs
Attack and Defense Labs
T
Tailwind CSS Blog
S
Securelist
The Cloudflare Blog
博客园 - 叶小钗
L
LINUX DO - 最新话题
T
Troy Hunt's Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
爱范儿
爱范儿

小z博客

招商银行万事达借记卡申请与消费实测 - xiaoz博客 全球多币种账户 + 海外实体借记卡,Starryblu开户教程与注意事项 - xiaoz博客 JP动作电影无字幕?Caption-Trans + AI 大模型帮你实现字幕自由 - xiaoz博客 ZNote私有笔记已支持 AI 检索问答,可轻松搭建自己的智能知识库 - xiaoz博客 ZNote私有笔记安卓版APP来了 - xiaoz博客 时隔两天,开源笔记软件ZNote又双叒叕更新了,前来汇报 - xiaoz博客 小而美的ZNote笔记软件 —— 支持Docker私有部署和WEB访问 - xiaoz博客 xiaoz博客主题重写完成:Ztheme 已开源,附使用说明 - xiaoz博客 Zocr:一款开箱即用的轻量OCR API,支持Docker一键部署 - 小z博客 使用Zot搭建私有容器镜像仓库,搞定Docker镜像加速 - 小z博客 ZMark书签管理器618限时折扣,买一送一 - 小z博客 ZMark 1.0.0正式版来了,AI检索功能已就绪 - 小z博客 OpenCode上手指南:我的AI编程方案 - 小z博客 FluxDown:一款界面精美、功能强大的现代下载工具,支持浏览器扩展 - 小z博客 自建私有音乐服务Songloft:Docker安装 + 小爱音箱播放 - 小z博客 基于 Cloudflare Workers 的轻量级 SMTP 发信网关:ZSend 不到20MB,支持40+数据库!这款开源客户端DBX太轻巧了 - 小z博客 自托管书签神器 ZMark 限量送兑换码了!先到先得 - 小z博客 OneNav重构版ZMark公测:早鸟福利已开启 - 小z博客 5分钟拥有自己的“小龙虾”:PicoClaw Docker 部署教程 - 小z博客
Cloudflare Workers项目部署和wrangler命令使用 - 小z博客
xiaoz · 2026-05-26 · via 小z博客

本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme

最近,xiaoz 在开发一个 HTTP 邮件发送服务。项目本身不复杂,图个省事,打算部署到 Cloudflare Workers 上。虽然中间遇到了一点小问题,但在 AI 的帮助下很快解决了。由于是第一次用 wrangler 命令部署,不太熟悉,踩了些坑,顺手用这篇文章记录一下。

image.png

什么是wrangler?

Wrangler 是Cloudflare官方推出的一个让你在命令行里一键部署和管理 Cloudflare Workers 工具,如果您在开发适配Cloudflare Workers的程序,Wrangler工具几乎是绕不开的。

安装wrangler

使用bun或者pnpm均可安装wrangler,命令如下:

# 使用bun安装wrangler
bun install -g wrangler
# 使用pnpm安装wrangler
pnpm install -g wrangler

安装完毕后输入wrangler --version查看版本号。

Cloudflare Workers项目配置

在适配Cloudflare Workers项目时,根目录下存在一个配置文件wrangler.jsonc里面可能包含如下信息:

{
  "$schema": "node_modules/wrangler/config-schema.json",
  "name": "zsend",
  "main": "src/index.ts",
  "compatibility_date": "2026-05-17",
  "compatibility_flags": ["nodejs_compat"],
  "d1_databases": [
    {
      "binding": "DB",
      "database_name": "zsend",
      "database_id": "29364a4e-08d4-420f-a06f-f8db95041113"
    }
  ],
  "dev": {
    "ip": "0.0.0.0",
    "port": 8000
  }
}
  • name:Workers 项目的名称,会用于 Cloudflare 仪表盘上的标识,也用于本地开发时的项目识别。
  • main:入口文件路径,即 Worker 的脚本主文件(这里是 src/index.ts),Wrangler 会打包并部署该文件。
  • compatibility_date:指定 Worker 运行时兼容的日期,用于启用该日期之后的新功能或修复,确保行为的一致性。
  • compatibility_flags:显式开启某些实验性或特定版本的运行时特性,例如 ["nodejs_compat"] 会启用 Node.js 兼容层。
  • d1_databases:配置项目关联的 Cloudflare D1 数据库,是一个数组。
  • dev:本地开发环境(wrangler dev)的配置项

同时也可以在wrangler.jsonc中配置环境变量参数,但一般不建议通过修改这个配置来设置环境变量,一是不安全,二是不适合开源和分发代码。

使用wrangler命令

需要部署Workers项目,我们需要使用wrangler命令完成登录授权,如果您的操作系统带有图形界面,可以直接使用wrangler login完成。

但如果在不带图形界面的Linux终端中,我们可以通过API方式来完成认证,命令如下:

# 设置API认证
echo 'export CLOUDFLARE_API_TOKEN=xxx' >> ~/.bashrc
# 使其生效
source ~/.bashrc

提示:API Token需要在Cloudflare后台完成并给予对应权限!

然后我们可以使用wrangler whoami查看是否认证成功。

CleanShot 2026-05-17 at 19.06.57@2x.png

设置项目参数

上面已经提到一般不推荐在wrangler.jsonc中配置参数,推荐的做法是使用wrangler secret命令,比如你想设置一个TOKEN环境变量,使用下面的命令:

# 新建一个TOKEN环境变量
wrangler secret put TOKEN

然后可以使用wrangler secret list列出所有设置的变量列表,或者在网页版的【设置】选项里面也能看到。

CleanShot 2026-05-17 at 19.10.21@2x.png

部署项目

直接参考下面的命令就行了:

# 部署到默认环境
wrangler deploy

# 列出所有版本
wrangler versions list

# 回滚到指定版本
wrangler rollback <version-id>

# 查看当前部署的版本详情
wrangler versions view <version-id>

然后域名绑定啥的,自行去Cloudflare Workers项目中设置即可。

结语

个人觉得Cloudflare Workers项目的开发和部署流程还是偏繁琐的,而且第一次比较容易踩坑,但胜在Cloudflare Workers提供了友好的免费额度,可以让一些小型项目0成本跑起来,还要什么自行车呢。