资讯动态

阿里云ECS上部署OpenClaw AI Agent:从零到常驻云端

发布时间:2026/10/17 16:57:49 来源:尧图企业网站定制
简介面向希望快速拥有云端AI助手、又缺少运维经验的技术爱好者这份PDF以阿里云ECS为载体完整梳理了OpenClaw从零部署到日常使用的极简路径。内容涵盖ECS选购与安全组端口配置、一键安装命令、大模型接入与访问密码设定、常用技能扩展以及域名绑定、本地模型部署和数据备份等进阶优化并附有年度成本估算与常见问题排错建议。文档给出了详细的命令行示例和验证方法如通过openclaw status检查运行状态、用Nginx配置反向代理等按步骤操作即可在15分钟内获得可远程访问的私有化AI工作流。资源为单份PDF文档大小仅138KB便于移动端随时查阅已有148人学习下载。无论想集成通义千问、Claude等多模型能力还是希望搭建个人多端同步的AI助手这份方案都提供了可复用的实操参考尤其适合无运维背景却想低成本尝试云端AI服务的个人用户。1. ECS 上跑 OpenClaw为什么我不再建议你只在本地玩我自己第一次跑 OpenClaw 是在 Mac 上装完依赖、配好模型、调通 skill花了一整个下午。第二天想让它 7x24 挂在后台干活发现笔记本一合盖就断还得时刻盯着电源。后来把目光转向阿里云 ECS用 Ubuntu 系统做了一键部署才真正体会到「AI 助手常驻云端」是什么体验。这篇笔记就是把我在 ECS 上部署 OpenClaw 的完整过程、参数设置和踩过的坑拆给你看适合手里有阿里云服务器、想低成本跑一个多 AI 协作工作流的从业者。核心思路就一句话OpenClaw 的部署并不神秘难点全在环境、守护进程和模型接入这三个点上。2. 选型第一关ECS 实例规格与网络配置2.1 实例规格怎么选2C4G 是底线别被「轻量」带偏OpenClaw 本身是一个 AI Agent 编排框架它的资源消耗分两块框架常驻内存和模型请求开销。如果你用的是云端模型 API比如通义千问、OpenAI 兼容接口ECS 只负责跑 Agent 逻辑2 核 4G 的实例完全够用但如果你打算把本地模型如 Ollama也部署在同一台机器上2C4G 就会吃紧建议直接上 4C8G。我自己的选择是阿里云 ECS 的 ecs.c6.xlarge4C8G按量付费跑测试稳定后再转包年。这里有个关键点OpenClaw 的技能Skill执行时会派生子进程比如调用浏览器自动化、执行 Python 脚本内存峰值往往出现在并发任务的时候。如果实例规格太小系统会触发 OOM Killer把 OpenClaw 的主进程杀掉表现就是「服务突然消失日志里没有报错」。提示如果你只跑单 Agent 且全部走云端 API2C4G 就能用只要涉及本地模型、并行 Skill 或浏览器操作直接 4C8G差价不大但省心很多。2.2 网络与安全组80% 的「部署失败」其实是端口没放通阿里云 ECS 的安全组默认只放行 22 端口SSH而 OpenClaw 的 Web 控制台默认监听在 1868 端口。很多教程只告诉你「运行 openclaw serve」不会提醒你去安全组放行端口于是浏览器死活打不开管理界面。在阿里云控制台找到你的实例 → 安全组 → 配置规则 → 入方向添加两条规则目的端口授权对象协议SSH 登录22你自己的 IP白名单TCPOpenClaw Web 控制台1868你自己的 IP 或 0.0.0.0/0TCP我这边只放行了自己办公室的固定 IP 和家用宽带 IP 访问 1868 端口。如果用 0.0.0.0/0意味着任何知道你 IP 和端口的人都能看到控制台登录页风险不小。还有个小坑阿里云的控制台里安全组规则修改是即时生效的但如果你用systemctl restart networking或者重启实例规则不会丢放心。另外要提一句 ECS 的公网带宽。如果只是文本交互类的 Agent 任务用 1Mbps 或者 3Mbps 的按固定带宽就行但如果你要让 OpenClaw 调用浏览器、处理图片或音频出方向带宽会变成瓶颈。我踩过一次带宽 1MbpsOpenClaw 下载一个 50MB 的模型文件卡了快十分钟一度以为是死锁。3. 部署实操从裸机 Ubuntu 到 OpenClaw 跑起来3.1 系统准备Ubuntu 22.04 LTS 与基础依赖阿里云 ECS 创建实例时镜像选「Ubuntu 22.04 64 位」即可。系统装好后第一步是更新软件源并安装 git、curl、build-essential 这些基础工具。sudo apt update sudo apt upgrade -y sudo apt install -y git curl wget build-essential python3 python3-pip python3-venv这里有个细节Ubuntu 22.04 自带的 Python 是 3.10对 OpenClaw 的兼容性没问题但不要直接用系统 Python 装项目依赖强烈建议用python3-venv建虚拟环境。我在第一次部署时图省事直接在全局环境里 pip install结果和系统的 pip 包冲突导致 OpenClaw 启动时报ImportError: cannot import name packaging from pkg_resources。后来全部改为虚拟环境一次通过。安装完成后确认一下版本信息python3 --version git --version node --version如果node没安装也要补上。OpenClaw 的前端控制台和部分 Skill 依赖 Node.js 运行环境版本建议 18 LTS 或 20 LTS。3.2 获取 OpenClaw 与一键部署脚本OpenClaw 的官方仓库提供了install.sh一键部署脚本但直接运行前我建议先看一眼脚本内容至少确认它做了哪些事。git clone https://github.com/openclaw/openclaw.git cd openclaw cat install.sh | head -50脚本一般会做这几件事创建虚拟环境、安装 Python 依赖、下载前端资源、生成默认配置文件。我的习惯是用 Docker 跑会更省事但注意如果你选了阿里云的「抢占式实例」某些实例规格不支持 Docker 嵌套虚拟化不太影响 OpenClaw 这种纯容器场景只是遇到内核模块报错时优先排查实例类型。正式执行部署cd ~/openclaw bash install.sh --port 1868 --host 0.0.0.0参数说明--port控制台监听端口我固定用 1868和官方默认保持一致避免后续改配置。--host监听地址填0.0.0.0表示允许外部访问。只在本机调试可以填127.0.0.1但那样转发就麻烦了。如果你没有指定模型提供商安装完成后 OpenClaw 会生成一个默认配置文件直接把 API Key 填进去就行。安装完成后检查目录结构和生成的关键文件cd ~/openclaw ls -la tree -L 2 config/3.3 模型接入通义千问的 API Key 配置OpenClaw 的模型层设计得比较通用支持 OpenAI 兼容接口。阿里云百炼平台的通义千问 API 恰好是 OpenAI 兼容格式所以可以直接配置。cd ~/openclaw cp config.example.yaml config.yaml nano config.yaml在model:段下面填入model: provider: openai base_url: https://dashscope.aliyuncs.com/compatible-mode/v1 api_key: sk-xxxxxxxxxxxxxxxxxxxxxxxx model_name: qwen-plus参数说明provider填openai是为了走兼容模式不用额外装 SDK。base_url必须指向阿里云百炼的兼容端点漏掉/compatible-mode/v1这个路径会报 404。model_name按你开通的模型来我用的是qwen-plus如果想跑更复杂的推理任务可以换qwen-max。配置完后测试连通性python3 -c from openclaw.client import OpenClawClient c OpenClawClient.from_yaml(config.yaml) print(c.available_models) 如果能看到模型列表说明配置正确。如果报 401 或 403先看 API Key 有没有多余空格再看账号有没有开通百炼服务——别问我为什么知道这个坑血泪经验。3.4 systemd 守护让 OpenClaw 常驻后台直接用python3 -m openclaw serve启动SSH 窗口一关进程就没了。正确做法是注册成 systemd 服务让 ECS 开机自动拉起。创建服务文件sudo nano /etc/systemd/system/openclaw.service写入[Unit] DescriptionOpenClaw AI Assistant Afternetwork.target [Service] Typesimple Userubuntu WorkingDirectory/home/ubuntu/openclaw EnvironmentFile/home/ubuntu/openclaw/.env ExecStart/home/ubuntu/openclaw/venv/bin/python -m openclaw serve --host 0.0.0.0 --port 1868 Restartalways RestartSec10 [Install] WantedBymulti-user.target然后执行sudo systemctl daemon-reload sudo systemctl enable openclaw.service sudo systemctl start openclaw.service sudo systemctl status openclaw.service参数说明EnvironmentFile指向一个.env文件把 API Key 这类敏感信息放在这里而不是直接写进 service 文件。好处是后续改 Key 不用systemctl daemon-reload。Restartalways配合RestartSec10进程被 OOM 杀掉或者崩溃后10 秒内自动拉起。这个参数决定了你第二天醒来Agent 还在不在。WorkingDirectory必须指定否则 OpenClaw 找不到相对路径下的 config 文件。.env文件内容大致这样OPENCLAW_API_KEYsk-xxx OPENCLAW_PORT1868 OPENCLAW_HOST0.0.0.0.env文件的权限要收紧chmod 600 ~/openclaw/.env4. 避坑指南ECS 上 OpenClaw 部署的五个典型翻车现场4.1 SSH 连接频繁断开部署到一半卡住现象用ssh rootECS_IP连接后跑部署脚本到一半终端卡住不动几秒后报Connection reset by peer。原因阿里云默认安全组里SSH 的 22 端口对0.0.0.0/0放行但这只是第一层。实际断开多是因为 SSH 会话空闲超时或者部署脚本输出大量日志把客户端缓冲区塞满而服务器端ClientAliveInterval没设置。解决编辑本地 SSH 客户端配置加上心跳保活nano ~/.ssh/config写入Host ali-ecs HostName 47.xxx.xxx.xxx User ubuntu ServerAliveInterval 30 ServerAliveCountMax 10然后重新连接。ServerAliveInterval 30表示每 30 秒发一个空包给服务器防止中间设备把空闲连接清掉。4.2 OpenClaw 服务起来了但 1868 端口外面访问不了现象在 ECS 上用curl http://localhost:1868有响应但本地浏览器输入http://公网IP:1868就是转圈或者拒绝连接。原因两个可能性一是安全组没放行 1868二是 OpenClaw 只监听了 127.0.0.1。我在 3.2 节用的--host 0.0.0.0就是避免第二个问题。如果你用的是 systemd 服务注意 service 文件里的ExecStart是否显式带上了--host 0.0.0.0。解决先检查监听地址sudo ss -tlnp | grep 1868如果显示127.0.0.1:1868说明监听地址不对改 service 文件后重启。如果显示0.0.0.0:1868那就是安全组问题回阿里云控制台补规则。还有一个小坑是 ECS 的「防火墙」服务Ubuntu 镜像里默认可能启用了ufwsudo ufw status如果状态是active执行sudo ufw allow 1868/tcp。4.3 systemd 服务启动失败日志里找不到原因现象sudo systemctl start openclaw后用status查看显示active (running)但过几秒再看变成failed日志里只有Main process exited, codeexited, status1。原因最常见的是环境变量缺失。OpenClaw 在启动时会读取config.yaml里的 API Key如果你直接写死了 Key而 Key 格式不对比如带引号Python 读取时会报错但没有把堆栈打到 journal 里。解决先看完整日志journalctl -u openclaw.service -n 50 --no-pager如果日志显示openai.AuthenticationError直接去验证 Key如果显示FileNotFoundError检查WorkingDirectory是否指对了路径。这里的核心教训是systemd 服务里的环境变量和交互式 shell 完全隔离不要假设你的.bashrc里 export 过什么服务里就能读到。4.4 通过 API 调用模型时一直被限流429现象对话刚开始正常跑了十几轮后OpenClaw 返回 429 Too Many Requests然后 Agent 开始随机失败。原因阿里云百炼的 API 有 RPM每分钟请求数限制免费额度的 RPM 通常比较低。OpenClaw 默认的并发度较高特别是多个 Skill 同时调用模型时非常容易触限。解决在 OpenClaw 的配置里增加限流参数model: provider: openai base_url: https://dashscope.aliyuncs.com/compatible-mode/v1 api_key: sk-xxx model_name: qwen-plus max_retries: 5 request_timeout: 60 rate_limit_per_minute: 30另外ECS 地域也要留意。如果你的 ECS 在华北 2北京百炼 API 也在北京内网可以直连几乎无延迟。如果 ECS 在华南走公网的话延迟会高一些限流感受更明显。4.5 磁盘空间被 Skill 的临时文件撑爆现象跑了几天后df -h发现根分区使用率到 95%OpenClaw 突然启动不了。原因OpenClaw 的 Skill 执行时会在/tmp和缓存目录里留下临时文件比如浏览器截图、下载的中间文件、Python 虚拟环境的 pip 缓存。这些问题不会自动清理。解决写个 cron 定时清理 给 OpenClaw 单独挂数据盘。创建清理脚本sudo nano /usr/local/bin/cleanup-openclaw.sh内容#!/bin/bash # 清理 OpenClaw 临时文件保留最近 2 天 find /tmp -type f -name *openclaw* -mtime 2 -delete 2/dev/null find /home/ubuntu/openclaw/.cache -type f -mtime 2 -delete 2/dev/null echo $(date) cleanup done /var/log/openclaw-cleanup.log加上执行权限sudo chmod x /usr/local/bin/cleanup-openclaw.sh创建 cron 任务sudo crontab -e写入0 3 * * * /usr/local/bin/cleanup-openclaw.sh如果你业务量大建议给 ECS 挂一块 40G 的云盘数据目录尤其是日志和模型缓存全部迁到云盘上别和系统盘挤在一起。5. 进阶技巧与验证方法把 OpenClaw 调成你自己的多 AI 协作中心5.1 让 OpenClaw 跑多 AgentCompanion 模式的联动OpenClaw 不只是一个单 Agent 工具它支持以「主控 子 Agent」的方式把不同技能的 Agent 串起来。官方仓库里有一个companion子项目用于管理轻量级 Agent 实例。在实际 ECS 部署中我常用的做法是主 OpenClaw 负责调度配套的 Companion 实例负责单一任务比如定时采集、舆情监控两者共享同一个config.yaml的模型配置但各自维护独立的 Skill 目录。部署了多个 Agent 后Aliyun 有个默认限制要注意同一台 ECS 上所有 Agent 共享出方向带宽。假设你的带宽是 3Mbps两个 Agent 同时跑文件下载速度会互相挤占。所以我的习惯是给「重网络」类 Skill 限流在 Skill 的profiles.yaml里配置timeout和max_concurrency调小优先保证主控 Agent 的交互响应。5.2 验证部署是否「真的健康」从进程、端口到功能部署完成后不要止步于「看到页面」就行。我每次迁移后固定走一套验证流程。第一进程与端口sudo systemctl status openclaw.service sudo ss -tlnp | grep 1868 curl -s http://127.0.0.1:1868/api/health | python3 -m json.tool第二模型连通性cd ~/openclaw ./venv/bin/python -c from tools.skill_runner import run_skill res run_skill(test_qa, payload{prompt: 阿里云 ECS 和普通服务器的主要区别}) print(res[:80]) 这一步会真实调用一次通义千问如果返回正常说明模型链路是通的。第三重启恢复验证sudo reboot重启完成后等两分钟再执行curl -s http://127.0.0.1:1868/api/health如果返回正常说明 systemd 的enable配置生效了。这一步值得做我见过太多人部署的时候一切正常服务器一重启就废的案例。5.3 扩展接入 ROS2 和多 AI 协作场景OpenClaw 的社区生态里有rosclaw这类扩展用来打通 ROS2 与 Agent 调度。如果你是在 ECS 上做机器人相关的仿真控制可以让 OpenClaw 作为大脑ROS2 机器人作为执行器。实测下来在 Ubuntu 22.04 ROS2 Humble 环境里rosclaw节点能稳定接收 OpenClaw 下发的技能指令并把机器人的状态回传给 Agent。配置要点就一条ECS 上跑 ROS2 主节点时要开放ROS_MASTER_URI对应的端口比如 11311否则机器人端的ros::Publisher会一直报连接超时。阿里云安全组里加一条 TCP 11311 入方向规则授权对象填机器人的出口 IP。另外多 AI 协作时别忘了 ECS 的云监控。阿里云自带的基础监控只覆盖 CPU、内存、带宽要想看进程级指标我习惯在 ECS 上装一个 Node Exporter 接入 Prometheus重点盯 OpenClaw 进程的 RES 内存和 Skill 子进程数量。这样做的好处是你可以一眼看出是内存飙升导致 Agent 变慢还是模型 API 响应延迟拖垮了整体流程。回到最开始的问题——为什么我不建议只在本地玩 OpenClaw因为 Agent 这类常驻任务天然需要稳定的网络、固定的公网入口和无人值守的重启机制。ECS 的优势不是性能而是「基础设施接管」。从那以后我每次在做 AI 助手这类项目时都会默认先规划好 systemd 服务、安全组和磁盘清理三件事再动手装框架。这几个前置动作能省掉你至少两天的维护时间。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑