【免费下载链接】open-compute
Self-hosted Cloudflare Workers-compatible platform with Workers、KV、D1、R2、DO、Queues、Workflows、Cron、Cache、Images、Vectorize、AI Search、Artifacts、Static Assets、Service Bindings、Dynamic Workers、LogTail、Gateway in one Rust binary.
open-compute 是一个自托管的 Cloudflare Workers 兼容平台,把 Workers、KV、D1、R2、Durable Objects、Queues、Workflows、Cron、Cache、Images、Vectorize、AI Search 等能力打包进一个 Rust 编写的ocd单文件中。你只需要掌握ocd命令行,就能完成从初始化安装、部署 Worker 到诊断排障、备份恢复、彻底清除数据的全部操作。本文是一份面向新手的 ocd 命令速查手册,按"生命周期 → 安装部署 → 诊断 → 日常运维 → 删除清理"五类整理全部常用命令,并附上可复制的实例。
先理解:一个二进制文件,一个守护进程
open-compute 的核心设计是"One binary. One daemon. Isolated instances.":
- 整个平台(运行时、控制面、调度器、全部产品绑定)都封装在一个
ocd可执行文件里; - Worker 代码运行在内置的、经过校验的 workerd 之上,毫秒级启动;
- 元数据用 SQLite,对象存储默认本地文件系统,可选 S3 兼容后端,不需要 Kubernetes、Redis 或 Postgres。
所有命令都围绕这个单一 daemon 展开,这也是下面所有命令的共同前提。
全局参数:先认识这 4 个开关
几乎每条命令都支持以下全局参数(定义见 crates/service/src/cli/model.rs):
| 参数 | 作用 |
|---|---|
--config <路径> | 指定某个实例的精确配置文件(compute.toml) |
--instance <ID/名称> | 按已注册实例 ID 或唯一显示名选择实例 |
--system | 操作"系统级" OCD(/etc/open-compute、/var/lib/open-compute),默认是用户级 |
--no-update-check | 跳过升级提醒与版本检查刷新 |
注意:--config与--instance互斥;ocd run、ocd setup、ocd caddy这类命令只按 scope(用户级/系统级)选择配置,不接受实例选择。
一、生命周期命令:run / start / stop / status / logs
这一组命令管理 daemon 与实例的启停,是最常用的日常操作。
ocd run # 前台启动平台进程(调试用) ocd start # 启动托管的后台服务(systemd user unit / LaunchAgent) ocd stop # 停止服务;只有 socket 消失且数据目录锁释放后才算成功 ocd restart # 重启 ocd status --json # 查看 daemon 状态,--json 输出带版本号的 JSON ocd logs --follow # 查看最近日志,--follow 持续跟踪💡 小技巧:
ocd stop有 30 秒静默(quiescent)窗口,超时未停会报错而不是假装成功;正常停止后即可安全运行离线诊断或再次start。
实例级管理:ocd instance
一个 daemon 下可以注册多个隔离实例:
ocd instances # 列出已注册实例 ocd instance setup --name shop --data-dir /abs/data/shop --yes ocd instance start shop # 按名称或 ID 启动 ocd instance stop shop ocd instance restart shop ocd instance add # 登记已初始化好的实例配置 ocd instance remove shop # 注销注册但不删配置和数据instance setup支持--autostart(默认开,写入ocd.toml开机自启意图)和--start(默认开,注册后立即启动)。
二、安装与部署:setup 和 cf deploy
1. 安装二进制
默认以普通用户运行仓库提供的安装脚本 scripts/install.sh,二进制落在~/.local/bin/ocd,不含密钥的安装回执在~/.open-compute/install-receipt.json。需要开机级服务、特权端口时再用sudo安装并使用--system。完整流程见 安装与首次启动 Runbook。
2. 初始化:ocd setup
ocd setup --yes # 用户级:生成配置、密钥和托管服务,采用推荐默认值 sudo ocd setup --system --yes # 系统级:写入 /etc/open-compute 与 /var/lib/open-computeocd setup一次完成四件事:创建首台主机的配置、生成密钥、登记实例、注册托管服务;中途失败会自动回滚(rollback)。首次启动会生成平台身份、数据库和 master key,离线解压内嵌 runtime,随后/health/live与/health/ready均应成功。
3. 部署 Worker:ocd cf(原 wrangler 流程)
open-compute 的部署入口是ocd cf,它把项目内的官方 cf CLI 指向你选定的 open-compute 实例或远程目标,透传全部参数、TTY 与退出码:
ocd cf deploy # 在项目目录内部署 Worker ocd cf deploy --target prod # 部署到已登记的远程目标ocd cf会自动解析 instance/target、定位项目node_modules/.bin/cf、校验 Node 版本并注入凭据,无需全局 CLI 或 Wrangler。项目结构可参考 examples/hello-worker/ 与 examples/hello-worker/cloudflare.config.ts,设计背景见 P20 Cloudflare CLI 迁移 与 P12 target 管理。
部署完成后,在 Dashboard 的 Account home 里可以看到 Workers、KV、D1、R2 等全部产品入口:
三、诊断与体检:doctor 与 config 检查
ocd doctor:只读体检,--full才动手
ocd doctor # 严格只读检查:目录、配置、身份、数据完整性 ocd doctor --full --json # 额外授权对象存储 canary 和临时 workerd 编译/启动/停止- 默认模式不初始化任何目录,可以放心运行;
--full包含对象存储 canary 与临时 runtime 启停,建议在平台正常停止后执行(检查项定义见 crates/service/src/doctor.rs);- 只要有检查项
failed,命令以退出码4结束,方便脚本判断。
配置与能力检查
ocd config check --json # 只做静态解析与校验,不改任何东西 ocd config init --data-dir /abs/data # 打印一份完整起始 TOML 到 stdout ocd capabilities --json # 打印版本化的产品能力契约启用公网 Gateway 时还有ocd config gateway-dns-plan/gateway-dns-verify/gateway-tls-probe等命令,用ocd caddy validate && ocd caddy reload生效(详见 安装 Runbook)。
四、日常运维:dashboard、cache、backup、scheduler
| 命令 | 用途 | 常用参数 |
|---|---|---|
ocd dashboard | 打开操作员 Dashboard(一次性登录 URL,不落地长期 token) | --no-open只打印 URL;--json |
ocd cache clean | 清理可再生的 daemon/实例缓存 | --all覆盖全部实例;--dry-run预览 |
ocd caddy status | 查看托管 Caddy 与 TLS 状态(无密钥) | 另有validate、reload、list-modules |
ocd backup create --name rel-1.0 | 创建并完整校验一份离线快照 | 列表用ocd backup list |
ocd backup restore --snapshot <UUIDv7> | 把精确版本快照恢复到全新数据目录 | inspect/delete/retention-plan配套 |
ocd support-bundle --output /abs/x.tar | 生成有界、已扫描密钥的支持归档 | 配合 收集 Runbook |
ocd scheduler recover-corrupt --backup-name b1 | 隔离损坏的调度器库并重建空库 | 见 调度器恢复 Runbook |
ocd docs <name> | 打印内嵌的运维 runbook | 不带参数可列出全部 |
远程目标管理:ocd target
把另一台 open-compute 主机作为部署目标登记:
ocd target add prod --api-base-url https://host/client/v4 \ --instance-id <ID> --token-file /abs/owner-only/token ocd target list # 不读取、不输出任何 token ocd target test prod # 验证认证、账户发现与能力 ocd target remove prod # 只删登记记录,不删 token 文件五、升级与清除:upgrade、uninstall、purge
这三个命令是"危险区",设计上都先打印完整计划、再要求确认:
ocd upgrade # 替换为最新稳定版并重启 daemon ocd upgrade --dry-run # 只解析校验,不替换二进制 ocd upgrade --restore # 升级中断后恢复保留的旧二进制 ocd uninstall --dry-run # 移除安装,默认保留全部实例数据 ocd uninstall --purge --yes # 连同本地状态一起不可逆删除 ocd purge --dry-run # 精确删除一个已注册实例,先打印删除计划 ocd purge --yes # 确认执行关键安全边界(实现见 crates/service/src/instance_purge.rs 与 i53/i54 设计说明):
purge与uninstall --purge要求精确路径确认,配置在校验后被改动、出现符号链接或权限异常会直接 fail closed;- S3 上的对象数据始终保留,不会因本地 purge 被误删;
- 备份与恢复、新鲜主机恢复的详细步骤见 备份与保留 Runbook、新主机恢复 Runbook。
退出码速查:写脚本时看这里
ocd使用固定的退出码分类(定义见 crates/service/src/exit.rs),在 CI 或自动化脚本中可直接判断:
| 退出码 | 含义 |
|---|---|
0 | 命令成功 |
2 | 命令行用法/参数解析失败 |
3 | 配置路径、解析或静态校验失败 |
4 | doctor 报告存在失败检查项 |
5 | run未成为存活监听进程,或关停出错 |
最后:把这份速查表用起来
新手推荐的黄金路径只有四步:
ocd setup --yes # 1. 初始化并启动 ocd cf deploy # 2. 在项目目录部署 Worker ocd doctor # 3. 只读体检 ocd dashboard # 4. 打开可视化控制台更多场景——磁盘压力、workerd 崩溃循环、SQLite 损坏、master key 丢失——仓库都配有对应 runbook,可用ocd docs直接在二进制里查看,完整索引见 docs/references/runbooks/。
【免费下载链接】open-compute
Self-hosted Cloudflare Workers-compatible platform with Workers、KV、D1、R2、DO、Queues、Workflows、Cron、Cache、Images、Vectorize、AI Search、Artifacts、Static Assets、Service Bindings、Dynamic Workers、LogTail、Gateway in one Rust binary.
相关推荐
MediaPipe 跑通 Python 3.7:改三个文件就能用
MediaPipe 跑通 Python 3.7:改三个文件就能用 公司一台旧机器还停在 Python 3.7,你要把现成的手部跟踪流水线迁到 MediaPipe
人工智能机器学习计算机视觉多模态本地部署pwndbg 命令:Pwndbg 全命令清单速查工具的使用与实现解析
pwndbg 命令:Pwndbg 全命令清单速查工具的使用与实现解析 Pwndbg 是一个基于 GDB 与 LLDB 的 Exploit 开发与逆向工程辅助插件
逆向工程调试器应用安全开发工具reference 中文速查清单:CMD 命令快速参考指南(Windows 命令提示符全解析)
reference 中文速查清单:CMD 命令快速参考指南(Windows 命令提示符全解析) 本篇技术指南以 jaywcjlove/reference htt
文档教程知识库
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考