免费白嫖7×24小时在线的OpenClaw甲骨文ARM服务器部署全攻略
一、先说说为什么要搞这台服务器
如果你一直在关注这个系列,应该已经把OpenClaw在本地跑起来了。但本地部署有一个始终绕不开的问题:电脑一关机,OpenClaw就下线了。如果你想让它7×24小时在线,随时等你召唤,最理想的方案就是把它部署到一台云服务器上。
但云服务器要钱。在主流云厂商上,一台4核24GB内存的机器每月少说也得两三百块。这时候就得请出今天的主角——甲骨文云(Oracle Cloud)的永久免费套餐。它提供4核ARM处理器 + 24GB内存 + 200GB硬盘 + 每月10TB流量,全部永久免费,不是试用,不是限时优惠。
24GB内存是什么概念?跑OpenClaw完全绰绰有余,甚至还能在上面搭MySQL、装几个Docker容器、挂一个静态博客,资源都还有富余。
当然,白嫖也是有代价的。甲骨文的注册门槛不低,很多人卡在信用卡验证这一步就放弃了。而且它的国内访问速度不算理想,还需要做一些“保活”操作防止被回收。但这些坑踩过去之后,你就能拥有一台真正免费的24GB内存服务器,性价比不用多说。
这篇文章会带你从头到尾走一遍完整流程:注册账号→创建实例→部署OpenClaw→配置Cloudflare Tunnel→设置保活。全程实操,跟着走就能搞定。
二、免费套餐到底有哪些资源?
甲骨文云的永久免费套餐(Always Free)包含以下资源:
资源类型 | 免费配额 | 说明 |
ARM计算实例 | 4核 + 24GB内存 | 可拆分为多台,比如1台4C24G,或2台2C12G |
AMD计算实例 | 2台1/8核 + 1GB内存 | 性能有限,适合跑一些小服务或做备用 |
块存储(硬盘) | 合计200GB | 每台实例最低50GB,需合理分配 |
对象存储 | 10GB | 存一些文件、备份够用 |
网络流量 | 每月10TB出站 | 个人用完全不可能用完 |
公网IP | 4个IPv4 + IPv6 | 每台实例可以分配一个独立公网IP |
折算方式:永久免费资源每月给你3000个OCPU小时 + 18000GB内存小时。开一台4核24GB的机器刚好跑满30天(4×24×30=2880 OCPU小时,24×24×30=17280GB内存小时),都在免费额度内。
最推荐的方案:开1台4核24GB的ARM实例,硬盘拉到200GB。如果还想额外跑点别的,可以再开1-2台1核6GB的小机器,只要硬盘总和不超过200GB。
一个重要提示:始终免费的服务仅限你注册时选择的主区域(Home Region)。如果你注册时选了东京,就只能在这个区域创建免费实例。区域选定了就改不了,所以注册前要想好。
三、注册账号:最难的一关
甲骨文的注册是整个流程里最折磨人的环节。很多人卡在信用卡验证失败,反复收到“ABC错误”的提示。这关能不能过,运气成分不小,但有些准备工作能明显提高成功率。
需要准备的材料:
· 一个全新邮箱(Gmail或Outlook,不要用临时邮箱)
· 一个国内+86手机号(正常手机号就行,不验证)
· 一张Visa或MasterCard信用卡(必须支持境外预授权,国内银行的也行)
· 干净的IP地址(用家庭宽带或4G/5G手机流量,不要挂VPN、代理)
注册过程的关键点:
1. 浏览器用Chrome无痕模式,清除之前的Cookie和缓存。
2. 信息填写要真实:姓名用拼音,和信用卡持卡人一致;地址尽量和信用卡账单地址保持一致。
3. 选择主区域:对于国内用户,东京、首尔、新加坡的延迟相对较低,优先选这几个。如果这些热门区域出现“容量不足”无法创建实例的情况,可以选美国西部(凤凰城)。
4. 信用卡验证:提交后会扣1美元验证金,几分钟内自动退还。如果验证失败,换一张卡再试,不要反复用同一张卡提交。
常见失败原因:
·IP地址被判定为高风险(挂代理、数据中心IP)
·信用卡不支持境外预授权(部分国内银行卡会被拒)
·邮箱被关联过风险账号
如果连续多次失败,建议隔几天换个环境再试,不要死磕。
特别提醒:注册成功后,不要点击账号里的“升级(Upgrade)”按钮。只要不主动升级,信用卡就不会被扣费,所有免费资源都能正常使用。
四、创建ARM实例:拿到你的免费服务器
注册成功登录后台后,先在右上角把界面语言切换为简体中文。
第一步:配置VCN和子网(新界面必做)
这是甲骨文改版后新增的步骤,很多老教程没提,不少人卡在这里。
1. 进入左侧菜单网络→虚拟云网络。
2. 点击“创建VCN”(或选择已有的VCN)。
3. 在VCN详情页点击“创建子网”,IPv4 CIDR块填入10.0.0.0/24,勾选“分配IPv6前缀”。
4. 创建完成后,系统会自动配置路由表。
第二步:创建实例
1.进入计算→实例,点击“创建实例”。
2.命名:填openclaw-server。
3.选择镜像:Ubuntu 24.04。甲骨文自带的Oracle Linux有些软件兼容性不如Ubuntu,直接用Ubuntu 24.04。
4.选择配置:点击“更改配置”,选择Ampere系列,把OCPU拉到4核,内存拉到24GB。
5.添加SSH密钥:一定要上传你自己的SSH公钥。如果没有,先用ssh-keygen命令生成一对。不要选“为我生成密钥对”,否则后续无法免密登录。
6.引导卷:默认50GB,拉满到200GB(免费配额内不用白不用)。
7.点击“创建”,等待几分钟,实例状态变为“正在运行”就成功了。
第三步:配置防火墙(关键)
实例创建好后,默认只开放了22端口(SSH)。后续部署OpenClaw需要访问18789端口,必须手动开放。
1.进入实例详情页,点击“子网”链接。
2.找到“安全列表”,点击默认的安全列表。
3.点击“添加入站规则”:
o源CIDR:0.0.0.0/0
oIP协议:TCP
o目标端口范围:18789
o描述:OpenClaw Gateway
4.保存规则。
第四步:获取公网IP并登录
在实例详情页找到“公共IP地址”,复制下来。如果显示“临时公共IP”,去网络→IP管理→预留的公共IP中创建一个预留IP,关联到你的实例,这样即使重启实例IP也不会变。
打开终端,用以下命令登录:
ssh ubuntu@你的公网IP # 将“你的公网IP”替换为实际IP地址首次登录可能需要确认指纹,输入yes回车即可。
小提醒:热门区域(东京、首尔)可能出现“超出容量”的提示,意思是免费资源被抢完了。遇到这种情况,可以换个冷门区域(比如美国凤凰城)试试,或者每天不同时段多刷刷,有人释放资源就能抢到。
五、部署OpenClaw:让服务器“活”起来
拿到服务器后,接下来部署OpenClaw。甲骨文的ARM实例基于Ampere架构,和普通x86服务器不一样,但Docker完美支持ARM64,安装起来没有任何额外步骤。
第一步:更新系统并安装Docker
登录服务器后,依次执行:
# 更新系统包sudo apt update && sudo apt upgrade -y# 安装Docker依赖sudo apt install -y ca-certificates curl# 添加Docker官方GPG密钥sudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.asc# 添加Docker仓库(自动适配ARM64)echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 安装Dockersudo apt updatesudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 把当前用户加入docker组(不用每次加sudo)sudo usermod -aG docker $USER
安装完成后,退出SSH重新登录,使docker组权限生效。验证安装:
docker --versiondocker run hello-world
如果看到Hello World的输出,说明Docker安装成功。
第二步:拉取并运行OpenClaw
OpenClaw官方提供了包含ARM64架构的多平台Docker镜像,直接拉取即可。
# 创建数据目录mkdir -p ~/openclaw/data# 拉取并运行OpenClaw容器docker run -d \--name openclaw \--restart unless-stopped \-p 18789:18789 \-v ~/openclaw/data:/app/data \openclaw/openclaw:latest
参数说明: -d:后台运行 --name openclaw:容器名称 --restart unless-stopped:容器异常退出时自动重启 -p 18789:18789:将容器的18789端口映射到服务器的18789端口 -v ~/openclaw/data:/app/data:将数据目录挂载出来,方便后续修改配置和备份
第三步:初始化OpenClaw配置
等容器跑起来后,进入容器执行配置向导:
docker exec -it openclaw openclaw onboard向导会引导你完成以下配置:
1.设置网关密码:输入一个强密码,例如MyClaw@2026!Secure。这是访问OpenClaw控制台的凭证,务必记牢。
2.添加模型提供商:向导会让你选择模型提供商。由于这是新部署,先选“Do this later”(稍后配置),等Tunnel搭好之后再统一配置模型API。如果想现在就配置,可以参照之前文章介绍的Cloudflare Workers AI的配置方式。
3.网关模式设置:在gateway.mode中选择local,让网关只监听本地回环地址。这会配合后续的Cloudflare Tunnel实现最安全的访问方式。
配置完成后,向导会自动将配置写入~/openclaw/data/openclaw.json。你也可以随时手动编辑这个文件进行调整。
六、Cloudflare Tunnel详解:安全暴露OpenClaw到公网
到此为止,OpenClaw已经在服务器上跑起来了。但此时你只能通过http://你的公网IP:18789访问,存在两个问题:
1.安全问题:直接把18789端口暴露在公网上,等于把OpenClaw的控制台大门敞开,任何人都能尝试登录。
2.没有HTTPS:浏览器会标记为“不安全”,数据明文传输。
Cloudflare Tunnel可以完美解决这两个问题。它通过一条从服务器主动连接到Cloudflare的加密隧道,让公网用户通过你的域名安全访问OpenClaw,同时完全不需要在服务器防火墙上开放任何入站端口。
Cloudflare Tunnel的工作原理:
你在服务器上运行一个轻量级的cloudflared进程,它主动向Cloudflare边缘网络建立一条加密隧道。当用户访问你的域名(比如openclaw.yourdomain.com)时,流量先到Cloudflare,经过WAF、DDoS防护等安全检查后,再通过隧道转发到你的服务器上的OpenClaw。整个过程,你的服务器公网IP完全不暴露,防火墙也不用开任何入站端口。
准备工作:
· Cloudflare账号(免费计划即可,访问dash.cloudflare.com注册)
· 一个域名,且DNS托管在Cloudflare(需要在域名注册商处将NS记录指向Cloudflare提供的地址,例如alice.ns.cloudflare.com和bob.ns.cloudflare.com)
· 开通Cloudflare Zero Trust(首次开通可能需要绑定支付方式用于防滥用,但免费计划不会扣费)
第一步:在服务器上安装cloudflared
SSH登录到甲骨文服务器,执行以下命令安装cloudflared:
# 下载并安装cloudflaredcurl -fsSL https://pkg.cloudflare.com/install.sh | sudo bashsudo apt install -y cloudflared# 验证安装cloudflared --version
第二步:登录Cloudflare并创建隧道
在服务器上执行:
cloudflared tunnel login命令会输出一个URL,例如https://dash.cloudflare.com/argotunnel?callback=...。把这个URL完整复制到你的本地浏览器中打开,登录Cloudflare账号后,选择你要使用的域名,点击“Authorize”。认证成功后,服务器终端会自动继续。
第三步:创建命名隧道
cloudflared tunnel create openclaw这条命令会生成一个隧道的凭据文件,保存在~/.cloudflared/目录下,文件名是一串UUID,例如12345678-1234-1234-1234-123456789abc.json。记下这个UUID,后面配置会用到。
第四步:创建隧道配置文件
创建配置文件目录和文件:
sudo mkdir -p /etc/cloudflaredsudo nano /etc/cloudflared/config.yml
在打开的编辑器中,填入以下内容(将yourdomain.com替换为你的实际域名,将12345678-...替换为上一步生成的UUID):
tunnel: 12345678-1234-1234-1234-123456789abc # 替换为你的隧道UUIDcredentials-file: /home/ubuntu/.cloudflared/12345678-1234-1234-1234-123456789abc.json # 替换为凭据文件的实际路径ingress:- hostname: openclaw.yourdomain.com # 替换为你的完整子域名,例如 openclaw.你的域名.comservice: http://127.0.0.1:18789- service: http_status:404
参数说明: tunnel:上一步创建隧道时生成的UUID,直接复制过来。 credentials-file:凭据文件的完整路径,注意/home/ubuntu/是当前用户的home目录,如果你的用户名不是ubuntu,请相应修改。 ingress:入口规则数组。 hostname: openclaw.yourdomain.com:你要使用的完整子域名,这个域名需要事先在Cloudflare控制台的DNS中添加一条CNAME记录,指向你的隧道UUID.cfargotunnel.com。 service: http://127.0.0.1:18789:隧道将请求转发到的本地服务地址,也就是OpenClaw网关的端口。 service: http_status:404:兜底规则,任何不匹配上面hostname的请求都返回404,避免隧道被滥用。
保存文件(Ctrl+O,回车),退出(Ctrl+X)。
第五步:添加DNS记录
在Cloudflare控制台中,进入你的域名管理页面,点击DNS选项卡,添加一条CNAME记录:
·类型:CNAME
·名称:openclaw(这样完整域名就是openclaw.yourdomain.com)
·目标:12345678-1234-1234-1234-123456789abc.cfargotunnel.com(将UUID替换为你的实际UUID)
·代理状态:保持已代理(橙色云朵图标)
第六步:安装隧道为系统服务并启动
# 安装为系统服务sudo cloudflared service install# 启动服务sudo systemctl start cloudflared# 设置开机自启sudo systemctl enable cloudflared# 查看服务状态sudo systemctl status cloudflared
如果状态显示active (running),说明隧道已成功建立。
第七步:配置OpenClaw的allowedOrigins
隧道搭好后,还需要配置OpenClaw的安全设置,让它只接受来自你域名的请求。编辑openclaw.json配置文件:
nano ~/openclaw/data/openclaw.json在gateway.controlui部分添加allowedOrigins字段。示例配置如下:
{"gateway": {"mode": "local","controlui": {"port": 18789,"allowedOrigins": ["https://openclaw.yourdomain.com" // 替换为你的实际域名,注意https://前缀]}},"models": {"providers": []}}
参数说明: "mode": "local":让网关只监听本地回环地址(127.0.0.1),这意味着公网无法直接访问18789端口,只能通过隧道访问,大幅提升安全性。 "allowedOrigins":一个数组,填入你的完整域名(注意是https://开头)。只有来自这个域名的请求才会被OpenClaw接受,其他任何来源都会被拒绝。
保存文件后,重启OpenClaw容器使配置生效:
docker restart openclaw第八步:添加Zero Trust身份验证(强烈建议)
为了避免陌生人扫到你的域名访问登录页,可以在Cloudflare Zero Trust里加一层身份验证。
1. 登录Cloudflare Zero Trust控制台。
2. 左侧菜单进入Access→Applications。
3. 点击Add an application,选择Self-hosted。
4. Application Configuration:
o Application name:填OpenClaw
o Session Duration:选择24 hours
o Domain:填入openclaw.yourdomain.com
5. Policy:策略Action设为Allow,配置规则:
o Selector:选择Emails
o Value:填入你自己的邮箱地址,例如myemail@gmail.com
6. 点击保存。此后任何人访问你的域名,都需要先输入邮箱、接收验证码,验证通过后才能进入OpenClaw登录页。这是自用场景下最安全的做法。
第九步:验证访问
打开浏览器,访问https://openclaw.yourdomain.com。如果配置了Zero Trust,会先看到一个邮箱验证页面,输入邮箱、填入收到的验证码后,就会进入OpenClaw网关登录界面。输入你在第五步第三步设置的网关密码,即可进入控制台。
如果访问不了,检查几点:
·隧道服务是否正常运行:sudo systemctl status cloudflared
·域名DNS记录是否正确指向隧道
·openclaw.json中的allowedOrigins是否填对了域名(注意https://前缀)
七、千万别忘了保活!否则服务器会被回收
这是甲骨文免费用户最容易踩的坑。很多人服务器搭好了,放那儿半个月没管,回头一看实例没了。
甲骨文后台有一套自动检测机制,会把“闲置”的免费实例回收掉。具体规则是:在连续7天内,如果CPU利用率低于20%、网络流量低于20%、内存占用低于20%,就会被判定为闲置并强制回收。
OpenClaw本身跑起来会消耗一定资源,但如果长时间没有请求,CPU和内存还是会掉下来。为了保证不被回收,必须装一个保活工具。
推荐开源项目nerdy-holder,专门为甲骨文ARM实例设计,可以智能占用内存在25%-35%区间并制造随机波动,模拟正常使用状态。
对于Ubuntu/Debian系统,一条命令即可完成部署:
curl -fsSL https://raw.githubusercontent.com/bOOOOcG/nerdy-holder/main/remote-install.sh | sudo bash安装后,nerdy-holder会自动以后台服务运行。查看状态:
systemctl status nerdy-holder看到active (running)说明运行正常,装完就不用管了。
如果用的是Oracle Linux系统,安装步骤稍复杂一些:
# 安装依赖sudo yum install -y python3 python3-pip git# 克隆项目git clone https://github.com/bOOOOcG/nerdy-holder.gitcd nerdy-holder# 安装Python依赖sudo pip3 install -r requirements.txt# 创建安装目录并复制文件sudo mkdir -p /opt/nerdy-holdersudo cp -r nerdy_holder/ /opt/nerdy-holder/sudo cp run_holder.py /opt/nerdy-holder/# 创建systemd服务sudo tee /etc/systemd/system/nerdy-holder.service > /dev/null << 'EOF'[Unit]Description=Nerdy Holder - Memory ManagementAfter=network.target[Service]Type=simpleUser=rootWorkingDirectory=/opt/nerdy-holderExecStart=/usr/bin/python3 /opt/nerdy-holder/run_holder.pyRestart=alwaysRestartSec=10[Install]WantedBy=multi-user.targetEOF# 启动服务sudo systemctl daemon-reloadsudo systemctl enable nerdy-holdersudo systemctl start nerdy-holder
注意:甲骨文可能会不时调整回收规则(从最初的10%逐步提升到20%),建议关注官方公告。nerdy-holder默认的25%-35%占用区间目前是安全的,如果未来规则进一步收紧,可以相应调整。
八、常见问题与使用注意事项
Q1:注册时总是提示“ABC错误”怎么办?A:这是最常见的注册失败提示。原因通常是IP被判定为高风险,或信用卡验证失败。建议换一个网络环境(比如用手机4G流量开热点),换一张卡,用全新的邮箱重新注册。不要在同一个环境反复尝试。
Q2:创建实例时提示“超出容量”怎么办?A:说明你选的区域免费资源被抢光了。可以换个区域(比如美国凤凰城),或者每天早中晚不同时段刷一刷,有人释放资源就能抢到。
Q3:甲骨文会突然封号吗?A:如果严格按照免费政策使用,不违反服务条款,一般不会被封。但以下几种情况风险较高:账号长期不登录、多账号操作、用代理IP登录控制台、跑违规业务(挖矿、爬虫等)。建议保持正常使用习惯,每半个月登录一次控制台看看。
Q4:国内访问Cloudflare Tunnel的速度怎么样?A:说实话,不算快。Cloudflare在国内的节点延迟一般在100-200ms左右。但好处是不需要翻墙,且HTTPS自动加密。如果追求更低的延迟,可以考虑绑定国内CDN,但那需要备案,比较麻烦。
Q5:隧道断了怎么办?A:cloudflared服务配置了--restart unless-stopped,会自动重连。可以通过sudo systemctl status cloudflared查看状态。如果一直断连,检查服务器网络是否能正常访问Cloudflare的API端点。
Q6:24GB内存全开在一台机器上,会超过免费额度吗?A:Amazon。每月3000 OCPU小时 + 18000GB内存小时的免费配额,刚好够4核24GB跑满一整个月。只要硬盘不超过200GB,就不会产生费用。
⚠️ 使用注意事项:
1.不要点升级:只要不主动点击“升级”按钮,信用卡就不会被扣费。
2.保活是刚需:不装保活工具,实例极大概率会在半个月内被回收。nerdy-holder一条命令的事,别偷懒。
3.隧道安全配置:务必配置gateway.mode为local,并设置allowedOrigins为你的域名,这两项是安全基石。
4.定期备份:建议定期把~/openclaw/data备份到本地或云存储。配置文件不大,但丢了重新配比较麻烦。
5.别跑敏感业务:甲骨文对挖矿、爬虫、翻墙等行为打击非常严厉,一经发现直接封号。OpenClaw这种个人AI助手完全合规,放心用。
6.留意邮箱通知:甲骨文有时会发邮件通知账户状态或政策变更,建议定期查看注册邮箱,避免错过重要信息。
九、写在最后
至此,你已经成功拥有一台配置不输中配VPS的永久免费云服务器,并且把OpenClaw部署了上去,还通过Cloudflare Tunnel实现了安全、优雅的HTTPS访问。这台服务器会7×24小时运行,随时等你调用,不受本地电脑关机的限制。
这套方案的核心优势:
· 零成本:甲骨文永久免费,Cloudflare免费计划,OpenClaw开源免费
· 高配置:4核24GB内存,跑OpenClaw绰绰有余
· 高安全:Tunnel加密隧道+Zero Trust身份验证+allowedOrigins白名单,三重防护
· 免维护:Docker自动重启+systemd托管+保活工具,搭好就能长期稳定运行
如果在部署过程中遇到问题,欢迎在评论区留言交流。
觉得有帮助?点赞、在看、转发,让更多人知道这个好工具! |
| 关注「懒人工具志」 每天一个高效工具,让工作和生活更轻松 扫码关注,不错过每一期干货 |
#AI工具 | #免费服务器 | #效率神器 | #小龙虾 |
—— 懒人工具志,每天带你发现一个好用的高效工具 ——
夜雨聆风