OpenClaw云服务器部署教程:四步搭建常驻智能体服务
发布时间:2026/10/16 11:06:33 锦皓数字建站

说真的号称“喂饭级”的部署教程我刷到过不少但大多默认你已经会了点什么。OpenClaw社区里也常叫它 Clawdbot这个开源智能体框架我在本地折腾了两三天跑通之后又放到华为云上重新过了一遍才发现真正适合新人复现的路径不是文档里那种“万能部署”而是简化到每一步都有明确反馈的四步走拉包、写配置、起服务、保活。这篇就按我实际操作的顺序来写命令级别的步骤、踩过的坑、排查思路都放在里面照着走完基本半小时内能看到机器人报活。1. OpenClaw 到底能干什么为什么非要放云上1.1 它不是普通脚本而是一个常驻服务第一次看到 OpenClaw 的时候我以为它就是个调大模型接口的聊天机器人工具。真正跑起来才发现它更像一个“带爪子的管家”——除了对话你还能把定时任务、网页抓取、消息推送、外部API调用全部挂到它身上。它内部有一套事件循环会长期监听外部输入然后调用大模型或其他工具完成任务。比如你可以让它每天早上九点抓取某个网站的信息汇总给你也可以在收到特定指令后自动调用脚本执行操作。这个定位决定了它和“跑完就退出”的 Python 脚本不是一回事。脚本是临时工干完活就走OpenClaw 是正式员工要一直待在岗位上。所以它需要稳定的运行环境、固定的进程生命周期以及掉线之后能被自动拉起来的能力。这些特征天然指向一台云服务器而不是你的笔记本电脑。1.2 本地跑得动不代表适合长期跑我在本地部署过一次。笔记本电脑上确实能跑起来但问题很快就暴露了电脑一合盖服务就断了即使不关盖子休眠策略也会把进程杀掉。更麻烦的是本地网络环境复杂对外暴露服务端口很容易被运营商拦而且固定公网地址也不存在。OpenClaw 这类工具要为外部消息或网页回调提供服务入口时本地环境会让配置步骤复杂好几倍。云服务器解决的正是这几个痛点。它常年在机房运行不受你本地断电影响它有固定的公网IP对外连接不需要额外穿透它的资源是独立的不会因为你要打游戏就CPU飙到100%。我用的是华为云弹性云服务器选了一台 2核4G 的入门配置实际跑 OpenClaw 加一些辅助脚本内存占用稳定在 2GB 上下完全够用。如果你想把模型本地化或者并发拉高再往上升级也不迟。2. 搭建前的准备选机器、开端口、初始化环境2.1 云服务器配置怎么选才不浪费钱先说结论OpenClaw 这种框架瓶颈通常在内存而不是 CPU。你用它去调云端大模型接口时本地只做逻辑编排和状态管理CPU 占用其实不高。真正吃内存的是运行时环境、常驻进程、缓存数据和一些依赖的中间件。所以第一台机器我建议按“CPU 够用、内存有余”的思路选。场景CPU/内存带宽适用说明轻量体验2核2G1M~3M只做最基础的对话和任务测试不建议长期跑推荐配置2核4G3M~5M日常使用最稳能同时跑主服务和几个插件进阶配置4核8G5M高并发消息、本地小模型、大量定时任务我选的是 2核4G、带宽 3M。买的时候注意区分“按需计费”和“包年包月”如果你只是想试试可以先按需开通跑通了再转包月或者重置系统重新部署都行。镜像方面我建议直接选 Ubuntu 22.04 LTS干净、文档多、社区生态成熟遇到问题搜一下就有答案。2.2 安全组规则新手最容易栽在这里很多新手在云服务器上部署失败不是程序问题而是安全组没放行端口。华为云的控制台里弹性云服务器有一个“安全组”的配置项相当于云平台层面的一堵防火墙。默认情况下它只放行了少数几个端口你需要在“入方向规则”里手动添加。我在实际操作中加了三条规则SSH 端口 22、HTTP 端口 80、以及应用要用的 8080 端口。来源地址我建议设置成“指定IP”也就是你本地的公网IP而不是 0.0.0.0/0 全网放开。这样做的好处是即使你的服务存在未授权访问漏洞别人也根本连不进来。注意安全组规则是即配即生效的不需要重启服务器但如果你后面发现连接还是失败就要同时检查服务器内部的防火墙配置。2.3 登录云主机后的三件初始化事机器到手后我习惯先做三件事都是常规操作但能省掉后面很多麻烦。第一件更新软件源并安装基础工具sudo apt update sudo apt upgrade -y sudo apt install -y curl wget git vim unzip第二件确认系统时间同步。OpenClaw 的定时任务依赖系统时间如果时间偏差太大计划任务会乱掉。一般云平台出的镜像都会自动同步但最好还是确认一下timedatectl status看到System clock synchronized: yes就是正常的。如果有异常执行sudo timedatectl set-ntp true强制开启网络时间同步。第三件如果是低内存机器强烈建议加一块 swap 交换分区。我实测过2G 内存不配 swapOpenClaw 启动时内存一度飙升到 1.8G再开一个浏览器就立刻 OOM。加 4G swap 后内存压力一下子缓解了sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo /swapfile none swap sw 0 0 | sudo tee -a /etc/fstab这里要说明一下swap 是磁盘空间模拟内存速度比真内存慢但它的意义在于防止进程因为瞬时内存高峰被系统直接杀掉。对 OpenClaw 这种常驻服务来说宁可慢一点也不能断。3. 核心阶段OpenClaw 四步搭建全程记录3.1 第一步把项目文件拉取到服务器OpenClaw 提供两种部署方式一种是用发布好的安装包另一种是直接从代码仓库拉最新源码。我推荐第一种因为它经过测试稳定性更好。源码方式适合你后面要改框架本身的情况对大多数人来说没必要。我在/opt下面建了项目目录用来统一管理sudo mkdir -p /opt/openclaw cd /opt/openclaw然后从官方发布地址下载安装包。这个地址请以你拿到的官方文档为准不要用网上一搜一堆的“某某镜像站”下载链接很多是旧版本或者被改过的版本可能会有安全问题。我使用的是官方渠道的下载地址格式大致如下sudo curl -fsSL 官方发布地址 -o openclaw.tar.gz sudo tar -zxvf openclaw.tar.gz解压完成后目录里能看到bin、conf、plugins这几个关键子目录。bin里是主程序conf里是配置文件模板plugins是插件目录。这里我踩过一个坑直接下载的包如果权限不对运行时会提示Permission denied。所以解压后我习惯统一修正一下目录权限sudo chown -R $USER:$USER /opt/openclaw3.2 第二步写配置文件接上大模型能力OpenClaw 默认的配置文件是conf/config.yaml。第一次打开模板文件时你会看到一堆注释掉的选项不要慌核心其实只有三块机器人身份、模型服务连接、对外通信平台。我先把需要改的内容整理成了一份最简配置bot: name: clawdbot platform: telegram token: ${OPENCLAW_BOT_TOKEN} provider: type: openai-compatible base_url: https://your-api-endpoint.example.com/v1 model: your-model-name api_key: ${OPENCLAW_API_KEY}为什么这里用openai-compatible因为现在很多大模型服务都提供兼容 OpenAI 格式的接口只需要改base_url和api_key就能接上。不要把自己的密钥直接写到配置文件里风险太大。用环境变量引用的话配置文件即使被人看到也不会泄露密钥。设置环境变量的方式是在.bashrc或系统级的environment文件里追加内容echo export OPENCLAW_API_KEYsk-xxxxxxxx ~/.bashrc echo export OPENCLAW_BOT_TOKEN123456:abcdef ~/.bashrc source ~/.bashrc如果你是第一次部署、还没有可用的模型接口也可以先不配 provider启动后先用内置的本地规则模式跑一遍。这样至少能验证框架本身没装坏再把模型能力加进来。我建议你用这种方式做最小化验证出问题的时候更容易定位是哪一部分的错。3.3 第三步初始化数据目录并启动服务OpenClaw 第一次运行前需要初始化一个本地数据存储区用来保存任务状态、历史记录和插件数据。这一步通常很简单cd /opt/openclaw ./bin/openclaw init执行完之后会在项目目录下生成一个数据文件夹。如果你的服务需要做数据备份只需要打包这个目录就行。启动时我先用前台方式跑一次方便直接看日志输出./bin/openclaw start如果一切正常终端会出现类似 “OpenClaw is running” 的日志同时能看到它正在监听某个端口。这时我习惯打开另一个终端窗口用下面这行命令直接验证端口是否在监听ss -lntp | grep openclaw看到 LISTEN 状态就说明服务起来了。这里有一个很重要的判断点如果日志里出现大量报错不要急着反复重启先把报错信息记下来对照后面常见问题表排查。所有配置错误在日志里都会留下线索。3.4 第四步用 systemd 让服务后台常驻前台运行的服务一旦关闭终端就会死掉。我们必须要让它变成系统服务这样即使你退出 SSH、重启服务器服务也能自动拉起。Linux 上最标准的方式就是 systemd。我手动创建了一个服务文件[Unit] DescriptionOpenClaw Service Afternetwork.target [Service] Userroot WorkingDirectory/opt/openclaw ExecStart/opt/openclaw/bin/openclaw start Restartalways RestartSec5 [Install] WantedBymulti-user.target然后把它放到系统目录并启用sudo vim /etc/systemd/system/openclaw.service sudo systemctl daemon-reload sudo systemctl enable openclaw sudo systemctl start openclaw从这之后就再也不用手动启动进程了。查看状态用systemctl status openclaw查看日志用journalctl -u openclaw -f重启服务用systemctl restart openclaw。这里我想重点说一下Restartalways的含义它让服务在异常退出后 5 秒自动拉起。但要注意如果服务是因为配置错误启动即崩它会陷入“启动-崩溃-重启”的循环。所以先把前台方式跑通再挂到 systemd 下是更稳妥的顺序。4. 我实际踩过的坑和排查经验4.1 高频问题排查速查表部署过程中我遇到的问题不算少整理成表格方便你对号入座。现象可能原因解决办法启动时提示找不到命令或库文件系统缺少依赖包执行sudo apt update sudo apt install -y libssl-dev ca-certificates后重试访问模型接口超时API Key 配错或网络不通先curl测试接口地址确认返回 JSON 再检查 OpenClaw 配置端口被占用3100 之类的默认端口被其他服务抢占换一个高位端口或lsof -i:端口号杀掉旧进程服务启动后几秒又退出配置文件语法错误打开日志journalctl -u openclaw -f看具体报错定时任务不触发系统时区不对执行sudo timedatectl set-timezone Asia/Shanghai或你所在时区内存持续走高最终 OOMswap 不够或并发参数过高加 swap并调低配置文件中的并发数4.2 日志和 curl 是最靠谱的排查工具很多人一出问题就到处问人其实大部分场景下日志已经告诉你答案了。OpenClaw 挂在 systemd 之后所有标准输出都会进入 journal用journalctl -u openclaw -f能实时看到框架每一条输出。有一次我发现机器人不回复消息前台日志全正常端口也正常。后来偶然用curl手动请求了一下回调地址才发现是平台侧的 token 没配对。这给我一个习惯遇到“服务活着但功能异常”的情况先绕过 OpenClaw直接用curl测它要对接的外部服务。外部服务好再回头看框架配置。另外排查时不要同时改多个东西。我刚开始的时候一边换模型接口一边调了并发参数结果出问题后根本分不清是谁导致的。正确的做法是一次只改一个变量改完看日志确认正常后再动下一个。4.3 平台侧 API Key 的权限陷阱模型服务的密钥通常有不同的权限范围有的只有对话权限有的能访问文件、图像等高级能力。如果你的请求被 JSON 格式错误先别怀疑代码检查一下 API Key 是否有执行对应模型调用的权限。我自己就在一张只有基础权限的测试 Key 上折腾了半天以为是网络问题结果换了正式 Key 立即恢复。这类问题在日志里通常表现为 “401 Unauthorized” 或 “Permission Denied”看到这两个关键词第一反应就应该是查密钥权限而不是查服务器。5. 服务跑起来之后的调优和维护5.1 怎么做资源占用更低、运行更稳OpenClaw 默认的并发参数有时会偏高对于 2核4G 的机器来说可以适度调低。配置里常见两个参数一个是同时处理的最大消息数另一个是任务队列长度。这两个值调低之后内存占用能降下去一截换来的是极端情况下稍高的延迟但对个人使用场景完全够用。我调下来的经验值大概是同时处理数设成 4、队列长度设成 50。部署之后如果有大量瞬时消息涌入服务会出现短暂的排队现象但不会直接崩溃。注意修改这些参数后一定systemctl restart openclaw不是修改文件就立即生效的。5.2 维护清单备份、日志和系统更新服务稳定之后我建议把下面几条纳入定期维护习惯第一备份数据目录。OpenClaw 的任务记录、用户配置都在数据目录里丢了会很麻烦。写一个简单的压缩命令配合 crontab 每天执行tar czf /backup/openclaw_$(date \%F).tar.gz /opt/openclaw/data第二定期清理日志。journal 日志默认最多占系统盘一部分空间但长期跑服务后日志量确实客观。我设置了一下 journal 上限sudo journalctl --vacuum-size200M第三系统安全更新照做不误。云服务器被互联网扫描是常事日常更新系统补丁、避免使用弱密码、有条件就改用密钥登录。OpenClaw 这种常驻对外服务暴露端口越少被攻击的可能性就越低。我在实际部署中最大的体会是OpenClaw 本身不难难的是把运行环境整理干净。环境一旦稳定后面改配置、加插件、接模型都是顺理成章的事。这套四步走下来你已经有一个能自己重启、自动恢复、日志清晰的常驻服务了。如果你想继续折腾可以试试给 Clawdbot 接入群消息、定时拉取天气和资讯或者让它对接你自己的一堆小项目都是在同一套基础上做增量路径是通的。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。