当前位置: 首页
AI教程
元搭建OpenClaw服务器:阿里云ECS接入飞书踩坑实录

元搭建OpenClaw服务器:阿里云ECS接入飞书踩坑实录

热心网友 时间:2026-08-17
转载

在阿里云低配ECS上搭建OpenClaw,对接百炼大模型并接入飞书,总成本仅需127 9元。安装时遇到内存不足,通过Swap扩容及npm精简安装依赖成功解决。配置域名HTTPS证书,并成功集成飞书机器人,最终实现手机、电脑等多端随时随地使用。

最近折腾了一件事:在阿里云ECS上把OpenClaw跑起来,对接阿里云百炼的几个主流大模型,最后接进飞书——手机和电脑打开飞书就能直接用。

市面上能找到的教程要么步骤不全,要么版本对不上。前后试了好几种安装方法才把整个链路跑通,尤其是OpenClaw的安装环节,踩了不少坑。这篇文章把完整步骤和碰到的坑都记下来了,照着操作应该能避开大部分麻烦。

先算笔账

  • 阿里云 ECS:99元/年,2核2G,3M带宽,40G ESSD盘
  • 阿里云百炼 大模型:首月7.9元,可用GLM5、Qwen3.5-Plus等模型,18000次请求
  • 域名:aiearn.me 花了21元,阿里云新用户首年1元也能拿下主流后缀

首年合计:7.9 + 99 + 21 = 127.9元

一、前期准备

全程都在阿里云生态里操作,不用跨平台。提前备好三样东西:

1. ECS 服务器 选99元/年的经济型e实例,2核2G、3M带宽、40G ESSD。记下你的公网IP和SSH密码。

2. 阿里云百炼账号 注册并开通Coding Plan(首月7.9元),后面配置模型时要用到API密钥。活动截止2026年4月1日。

3. 域名 在阿里云注册,完成实名认证后,把域名解析A记录指向你的ECS公网IP。

二、在ECS上安装OpenClaw

这是最容易出问题的环节。官方一键安装、Docker安装、npm安装这三种方式都试过,最后用的是「Swap扩容 + npm精简安装」的组合。

1. 登录服务器

ssh root@你的服务器公网IP

出现 root@xxx 就登录成功了。

2. 安装系统依赖

# 更新软件包
yum update -y
# 安装核心依赖(--allowerasing 解决阿里云自带 epel 包冲突)
yum install -y wget curl epel-release certbot --allowerasing
# 安装 npm 和 Python
yum install -y python3 python3-pip npm

3. 踩过的两个坑(可以直接跳过这两种方法)

❌ 方式一:常规 npm 安装

npm install -g openclaw@latest --registry=https://registry.npmmirror.com --unsafe-perm=true --allow-root

安装到一半,终端直接输出「已杀死」。查日志是依赖编译时把2核2G的内存打满,系统主动杀掉了进程。

❌ 方式二:Docker 安装

docker run -d --name openclaw -p 18789:18789 --restart=always --memory=1536m openclaw/openclaw:latest

报错:

Unable to find image 'openclaw/openclaw:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 54.89.135.129:443: connect: connection refused.

国内访问Docker Hub太不稳定,即使配了国内镜像源也没拉下来,放弃。

4. 最终成功的方法

第一步:开2G Swap + 清缓存

2核2G内存装OpenClaw比较吃紧,先加一块Swap交换空间:

dd if=/dev/zero of=/swapfile bs=1M count=2048 && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile && echo '/swapfile swap swap defaults 0 0' >> /etc/fstab && sync && echo 3 > /proc/sys/vm/drop_caches && systemctl stop firewalld 2>/dev/null

这条命令做了几件事:创建2G Swap文件、设置权限并启用、写入 /etc/fstab 确保重启后自动挂载、清理系统缓存、临时关闭防火墙。

第二步: npm 精简安装(指定稳定版本)

放弃 latest,指定 v2026.2.25,加上几个关键参数大幅减少内存占用:

npm install -g openclaw@v2026.2.25 --registry=https://registry.npmmirror.com --unsafe-perm=true --allow-root --no-optional --omit=dev --ignore-scripts

参数说明:

参数作用
--registry=https://registry.npmmirror.com用淘宝镜像,下载稳定
--unsafe-perm=true --allow-root允许 root 用户安装,避免权限报错
--no-optional --omit=dev跳过可选依赖和开发依赖,这是内存不足的核心解法
--ignore-scripts跳过安装后的自动脚本,不额外消耗内存
@v2026.2.25固定版本,行为可预期

等3-5分钟,无报错即安装成功。

第三步:验证安装并启动 网关

注意:v2026.2.25 没有 openclaw start 命令,用下面的方式启动:

# 确认版本
openclaw --version
# 清理残留进程
openclaw gateway stop
pkill -9 openclaw
# 后台启动网关(日志写入文件)
nohup openclaw gateway run --port 18789 --force --allow-unconfigured --bind lan > /root/openclaw.log 2>&1 &
# 验证端口
netstat -tulpn | grep 18789

netstat 显示18789端口被监听,就说明网关正常运行了。

安装完成后处理 Swap

OpenClaw日常运行2核2G内存够用,Swap只是安装时临时用的,装完可以关掉:

swapoff /swapfile && rm /swapfile

三、配置阿里云百炼大模型

OpenClaw本身不带模型,需要对接外部API。

1. 获取百炼 API 密钥

登录阿里云百炼控制台,开通Coding Plan后,在「API密钥管理」里创建密钥,复制保存好。

2. 修改配置文件

先停掉网关:

openclaw gateway stop
pkill -9 openclaw

编辑配置文件:

vi ~/.openclaw/openclaw.json

找到 models 节点,替换为以下内容(填入你的API密钥):

{
"models": {
"mode": "merge",
"providers": {
"bailian": {
"baseUrl": "https://coding.dashscope.aliyuncs.com/v1",
"apiKey": "你的百炼API密钥",
"api": "openai-completions",
"models": [
{ "id": "qwen3.5-plus", "name": "qwen3.5-plus", "contextWindow": 1000000, "maxTokens": 65536 },
{ "id": "glm-5", "name": "glm-5", "contextWindow": 202752, "maxTokens": 16384 },
{ "id": "MiniMax-M2.5", "name": "MiniMax-M2.5", "contextWindow": 204800, "maxTokens": 131072 }
]
}
},
"agents": {
"defaults": {
"model": { "primary": "bailian/qwen3.5-plus" },
"models": {
"bailian/qwen3.5-plus": { "alias": "Qwen3.5-Plus" },
"bailian/glm-5": { "alias": "GLM-5" },
"bailian/MiniMax-M2.5": { "alias": "MiniMax-M2.5" }
}
}
}
}
}

注意:模型 idname 字段都要填,provider 名用 bailian,Agent 里的默认模型记得加 bailian/ 前缀。

3. 重启并验证

nohup openclaw gateway run --port 18789 --force --allow-unconfigured --bind lan > /root/openclaw.log 2>&1 &
# 测试调用
openclaw models call --model bailian/glm-5 --prompt "你好"

有回复就说明模型配置成功了。

四、配置公网 HTTPS 访问

配完模型后,默认只能通过SSH端口转发本地访问,很不方便。配置域名+HTTPS就能直接从公网进。

1. 申请 HTTPS 证书

一开始用 --standalone 模式,报错说80端口被占用。换DNS验证模式,不需要占任何端口:

certbot certonly --manual --preferred-challenges dns -d openclaw.你的域名

执行后会生成一条TXT解析记录,去阿里云域名控制台添加这条记录,等一分钟生效后回车,证书就申请成功了。证书路径会在终端输出,记下来。

2. 配置 OpenClaw 开启 TLS

编辑配置文件,在 gateway 节点加入TLS配置:

{
"gateway": {
"port": 18789,
"mode": "local",
"bind": "lan",
"controlUi": {
"dangerouslyAllowHostHeaderOriginFallback": true
},
"auth": {
"mode": "token",
"token": "你的网关token"
},
"tls": {
"enabled": true,
"certPath": "你的证书 fullchain.pem 路径",
"keyPath": "你的证书 privkey.pem 路径"
}
}
}

重启网关后,用 https://你的域名:18789 就能公网访问了。

3. 处理配对请求

第一次从公网访问,OpenClaw会要求设备配对:

# 查看待配对的请求
openclaw devices list
# 批准(替换成你的 Request ID)
openclaw devices approve 你的RequestID

五、接入飞书

这一步配完就算打通了:飞书私聊或者群聊@机器人,就能直接用大模型。

1. 创建飞书应用

登录飞书开放平台,创建「企业自建应用」,记下 App IDApp Secret。在「应用能力」里添加「机器人」能力。

2. 配置权限和事件

在「权限管理」里勾选以下4个权限(缺了会收不到消息):

  • im:message
  • im:message.group_at
  • im:message.p2p
  • bot:message

在「事件和回调」(新版飞书把「事件订阅」改叫这个了,找了好一会儿)里,选「使用长连接接收事件」,然后添加 im.message.receive_v1 事件。

3. 发布应用

去「版本管理与发布」创建新版本,选「企业内发布」。这步容易忘,没发布机器人不会有任何响应。

4. 配置飞书通道

编辑 OpenClaw 配置文件,在与 models 同级的位置加入 channels 节点:

{
"channels": {
"feishu": {
"enabled": true,
"appId": "你的飞书App ID",
"appSecret": "你的飞书App Secret",
"dmPolicy": "open",
"groupPolicy": "mention",
"streaming": true,
"requireMention": false
}
}
}

保存后重启网关,执行:

openclaw channels status --probe

输出 Feishu main: enabled, configured, running, works 就配置好了。

5. 测试

打开飞书,搜索你创建的机器人,私聊发「你好」,几秒内收到回复就说明整个链路通了。群聊里添加机器人后,@它发消息同样有效。

六、踩坑汇总

把这次遇到的问题集中列一下:

问题原因解决方法
npm安装被「杀死」2核2G内存不够先开2G Swap,加 --no-optional --omit=dev --ignore-scripts 参数
Docker安装连接拒绝国内访问 Docker Hub 不稳定改用npm安装+国内镜像
openclaw start 报错v2026.2.25不支持该命令openclaw gateway run 带参数启动
模型配置不生效字段或前缀写错idname 都要填,Agent里加 bailian/ 前缀
证书申请失败80端口被占用改用DNS验证模式(--preferred-challenges dns
公网访问报错浏览器要求HTTPS必须配域名+证书,不能用HTTP直接访问公网IP
飞书机器人无响应应用未发布 / dmPolicy配置问题确认已发布,dmPolicy 设为 open

七、openclaw.json 完整配置

贴一份最终跑通的配置,敏感字段换成你自己的:

{
"meta": { "lastTouchedVersion": "2026.2.25", "lastTouchedAt": "2026-03-03T09:36:49.253Z" },
"wizard": { "lastRunAt": "2026-03-02T13:33:17.347Z", "lastRunVersion": "2026.2.25", "lastRunCommand": "configure", "lastRunMode": "local" },
"models": {
"mode": "merge",
"providers": {
"bailian": {
"baseUrl": "https://coding.dashscope.aliyuncs.com/v1",
"apiKey": "你的百炼API密钥",
"api": "openai-completions",
"models": [
{ "id": "qwen3.5-plus", "name": "qwen3.5-plus", "reasoning": false, "input": ["text","image"], "contextWindow": 1000000, "maxTokens": 65536 },
{ "id": "qwen3.5-35b-a3b", "name": "qwen3.5-35b-a3b", "reasoning": false, "input": ["text"], "contextWindow": 262144, "maxTokens": 65536 },
{ "id": "qwen3-max", "name": "qwen3-max", "reasoning": false, "input": ["text"], "contextWindow": 262144, "maxTokens": 65536 },
{ "id": "glm-5", "name": "glm-5", "reasoning": false, "input": ["text"], "contextWindow": 202752, "maxTokens": 16384 },
{ "id": "MiniMax-M2.5", "name": "MiniMax-M2.5", "reasoning": false, "input": ["text"], "contextWindow": 204800, "maxTokens": 131072 }
]
}
},
"agents": {
"defaults": {
"model": { "primary": "bailian/qwen3.5-plus" },
"models": {
"bailian/qwen3.5-plus": { "alias": "Qwen3.5-Plus" },
"bailian/qwen3.5-35b-a3b": { "alias": "Qwen3.5-35B-A3B" },
"bailian/qwen3-max": { "alias": "Qwen3-Max" },
"bailian/glm-5": { "alias": "GLM-5" },
"bailian/MiniMax-M2.5": { "alias": "MiniMax-M2.5" }
},
"workspace": "/root/.openclaw/workspace",
"compaction": { "mode": "safeguard" }
}
}
},
"commands": { "native": "auto", "nativeSkills": "auto", "restart": true, "ownerDisplay": "raw" },
"channels": {
"feishu": {
"enabled": true,
"appId": "你的飞书App ID",
"appSecret": "你的飞书App Secret",
"dmPolicy": "open",
"groupPolicy": "mention",
"streaming": true,
"requireMention": false
}
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "lan",
"controlUi": { "dangerouslyAllowHostHeaderOriginFallback": true },
"auth": { "mode": "token", "token": "你的网关token" },
"tls": {
"enabled": true,
"certPath": "/etc/letsencrypt/live/openclaw.aiearn.me/fullchain.pem",
"keyPath": "/etc/letsencrypt/live/openclaw.aiearn.me/privkey.pem"
}
},
"plugins": { "entries": { "feishu": { "enabled": true } } }
}

八、最后

这套配置全程自己跑通的,没有遗漏步骤。安装OpenClaw是最麻烦的环节,试了三种方法才找到可行的组合,后面的百炼配置和飞书接入相对顺一些。

首年127.9元,数据在自己服务器上,模型可以随时换,还能直接用飞书——对个人用户来说这个成本是可以接受的。

来源:https://juejin.cn/post/7612863397353603091

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
Hermes Agent 2026安装教程:全平台一键部署与避坑指南

Hermes Agent 2026安装教程:全平台一键部署与避坑指南

HermesAgent可通过官方一键脚本快速安装。Linux macOS WSL2用户使用curl命令,Windows用户使用PowerShell。国内用户建议优先选用镜像源以提升速度。安装后运行配置命令,选择并接入大模型API即可启动。该框架支持主流操作系统,安装便捷,配置引导清晰。

时间:2026-08-17 14:15
OpenClaw实战Day1:本地化部署与环境搭建

OpenClaw实战Day1:本地化部署与环境搭建

在Windows系统上,通过管理员权限的PowerShell,可依次安装OpenClawbeta版与Ollama本地模型引擎。需下载并配置qwen2 5:7b模型,将其上下文扩展至32k以符合要求。随后通过OpenClaw交互向导对接本地Ollama服务,并修改配置文件解决上下文报错。最终可启动终端或Web界面,实现完全本地运行的AI助手对话功能。

时间:2026-08-17 14:15
Claude Code安装教程:接入阿里云百炼模型免费额度使用

Claude Code安装教程:接入阿里云百炼模型免费额度使用

ClaudeCode工具可通过npm包管理器安装,需要预先配置Git和Node环境。然后修改settings json文件,填入阿里云百炼平台的API密钥和模型地址,并且设置 claude json文件以跳过引导。在切换模型时使用CCSwitch工具,即可利用阿里云百炼的免费额度调用模型。

时间:2026-08-17 13:43
阿里云部署Hermes Agent与Token Plan完整配置教程

阿里云部署Hermes Agent与Token Plan完整配置教程

阿里云部署HermesAgent智能体,支持轻量镜像、计算巢、ECS三种部署方式,搭配TokenPlan套餐实现大模型可控调用。需提前完成实名认证、选择配置,配置密钥与接口地址,即可实现长周期任务执行与多工具协同。

时间:2026-08-17 13:43
OpenClaw初始化教程与基础使用方法

OpenClaw初始化教程与基础使用方法

OpenClaw使用前需初始化,发送带“初始化”的提示词,设置名字、性格等属性。常用斜杠命令包括 new重置会话、 stop中断操作、 status查看状态、 compact压缩上下文、 verbose显示工具调用、 reasoning显示推理过程等,掌握这些即可满足日常需求。

时间:2026-08-17 13:43
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜