OpenClaw 部署教程 - Linux 篇(2026 终极版)

联系方式 & 交流群
- 微信: gzs-47
进微信群请联系博主,各位觉得文章对你有帮助的话可否打赏一些呀~
OpenClaw 部署教程 - Linux 篇(2026 终极版)
📅 更新时间:2026-03-17
⏱️ 阅读时间:20 分钟
💡 难度等级:⭐⭐☆☆☆
✅ 实测环境:Ubuntu 22.04 LTS / Node.js v22.12.0 / Python 3.10.12
⚠️ 部署前必读(安全警示)
电气安全
- 服务器供电:确保使用稳压电源,电压波动 < ±5%
- 散热要求:工作环境温度 15-35℃,湿度 40-60%
- ESD 防护:接触服务器前佩戴防静电手环
系统安全
- root 权限:生产环境建议使用普通用户 + sudo
- 防火墙:仅开放必要端口(默认 18789)
- 备份:部署前备份重要数据
网络要求
- 带宽:≥ 10Mbps(推荐 100Mbps+)
- 代理:中国大陆用户需配置 Clash 代理(端口 7890)
- 域名:可选,用于 HTTPS 访问
内存要求(重要!)
- 最低:2GB(需配置 Swap)
- 推荐:4GB+(无需 Swap)
- 生产:8GB+(流畅运行)
⚠️ 2GB 内存服务器必须配置 Swap,否则会出现 OOM(内存溢出)导致安装失败。
📋 系统要求(精准参数)
| 项目 | 最低要求 | 推荐配置 | 生产环境 |
|---|---|---|---|
| 操作系统 | Ubuntu 20.04 | Ubuntu 22.04 LTS | Ubuntu 22.04.3 LTS |
| CPU | 1 核心 | 2 核心+ | 4 核心+ |
| 内存 | 2GB | 4GB+ | 8GB+ |
| 磁盘 | 5GB | 10GB SSD | 20GB+ NVMe SSD |
| Node.js | v18+ | v20+ | v22.12.0 (最新 LTS) |
| Python | 3.8+ | 3.10+ | 3.10.12 (系统自带) |
| Git | 任意版本 | 最新 | 2.34.1+ |
⚠️ 关键说明:
- Node.js v22:OpenClaw 官方推荐版本,兼容性最佳
- Swap 配置:2GB 内存服务器必须配置 2GB+ Swap
- Git 必须:用于克隆仓库和管理依赖
🔧 快速安装(10 分钟完成)
方法一:官方一键安装脚本(最简单)
# ============ 步骤 1:系统更新及基础依赖 ============sudo apt updatesudo apt install -y git curl
# ============ 步骤 2:执行官方安装脚本 ============curl -fsSL https://openclaw.ai/install.sh | bash
# ============ 步骤 3:验证安装 ============openclaw --version⏱️ 预计耗时:5-10 分钟(取决于网络)
⚠️ 注意事项:
- 国内服务器:若安装失败,需先配置代理
- 2GB 内存:可能出现 OOM,需先配置 Swap(见下文)
- 安装过程:耗时较长,需耐心等待
方法二:手动安装(可控性更强)
适合需要精确控制版本的生产环境:
步骤 1:安装 Git
sudo apt updatesudo apt install -y git
# 验证版本git --version # 应显示:git version 2.34.1+步骤 2:安装 NVM(Node 版本管理器)
国内服务器(使用 Gitee 镜像源):
curl -o- https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh | bash海外服务器(使用官方源):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash步骤 3:重新加载环境变量
source ~/.bashrc
# 验证 NVM 已安装command -v nvm # 应输出:nvm步骤 4:安装 Node.js 22
# 安装 Node.js 22(最新 LTS)nvm install 22
# 设置为默认版本nvm alias default 22
# 验证版本node --version # 应显示:v22.12.0npm --version # 应显示:10.9.0+步骤 5:安装 OpenClaw
# 全局安装npm install -g openclaw
# 验证安装openclaw --version # 应显示:openclaw/x.x.x linux-x64 node-v22.12.0⚙️ 初始化配置(Onboarding 向导)
安装成功后会自动进入初始化向导,按以下步骤操作:
步骤详解
| 步骤 | 提示内容 | 操作 | 说明 |
|---|---|---|---|
| 1 | 安全提示确认 | 输入 Yes | 知晓权限风险 |
| 2 | 选择部署模式 | 选择 QuickStart | 后续可补充配置 |
| 3 | 选择模型服务商 | 选择 OpenAI | 或其他服务商 |
| 4 | 模型授权 | 复制链接到浏览器 | 登录账号完成授权 |
| 5 | 通信通道配置 | 选择 Skip for now | 后续可配置 |
| 6 | 技能配置 | 选择 No | 暂不配置 |
| 7 | Hooks 配置 | 选择 Session | 暂不启用 |
| 8 | 启动方式 | 选择 TUI | 终端聊天界面 |
| 9 | 测试 | 输入 Hello | 确认安装成功 |
详细流程
1. 安全提示确认:
OpenClaw is a hobby project and still in beta...Do you want to continue? (Yes/No)> Yes2. 选择部署模式:
Select deployment mode: 1) QuickStart (推荐) 2) Advanced> 13. 选择模型服务商:
Select model provider: 1) OpenAI 2) Anthropic 3) Google 4) Custom> 14. 模型授权:
Please visit the following URL to authorize:https://openclaw.ai/auth/xxxxx
Enter the authorization code:> [粘贴授权码]5-7. 跳过可选配置:
Configure communication channels? (y/N) > NConfigure skills? (y/N) > NConfigure hooks? (y/N) > N8. 启动 TUI 测试:
Start OpenClaw in TUI mode? (Y/n) > Y
# 出现聊天界面后输入:> Hello
# 应收到 AI 回复9. 退出 TUI:
按 Ctrl+C 退出🔧 高级配置(生产环境必备)
1. 配置 Swap(2GB 内存服务器必须)
检查当前 Swap:
free -h# 如果 Swap 为 0B,需要配置创建 2GB Swap:
# 1. 创建 swap 文件sudo fallocate -l 2G /swapfile
# 2. 设置权限(仅 root 可读写)sudo chmod 600 /swapfile
# 3. 格式化为 swapsudo mkswap /swapfile
# 4. 启用 swapsudo swapon /swapfile
# 5. 验证swapon --show# 应显示:/swapfile file 2G 0B永久生效(重启后自动挂载):
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab调整 Swappiness(降低使用 swap 的频率):
# 查看当前值(默认 60)cat /proc/sys/vm/swappiness
# 修改为 10(更保守)sudo sysctl vm.swappiness=10
# 永久生效echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf2. 配置 API Keys
编辑配置文件:
nano ~/.openclaw/workspace/TOOLS.md添加以下内容(替换为你的 Key):
## 🔑 API Keys
### 阿里云百炼(推荐,国内访问快)- **API Key**: `sk-sp-xxxxxxxxxxxxxxxx`- **模型**: qwen3.5-plus, qwen3-max-2026-01-23- **状态**: ✅ 已配置- **用途**: 代码生成/审查/优化
### OpenAI(备选)- **API Key**: `sk-proj-xxxxxxxxxxxxxxxx`- **模型**: gpt-4o, gpt-4-turbo
### 火山引擎(备选)- **API Key**: `xxxxxxxxxxxxxxxx`- **模型**: doubao-seed-2.0-codeKey 获取地址:
3. 配置 Clash 代理(中国大陆用户必须)
检查 Clash 是否运行:
ps aux | grep clash# 应看到:clash -d /root/.config/clash/如未运行,启动 Clash:
# 后台启动 Clashnohup clash -d /root/.config/clash/ > /tmp/clash.log 2>&1 &
# 验证端口(7890 应处于 LISTEN 状态)netstat -tlnp | grep 7890配置环境变量:
# 临时生效export HTTP_PROXY=http://127.0.0.1:7890export HTTPS_PROXY=http://127.0.0.1:7890
# 永久生效(添加到 ~/.bashrc)echo 'export HTTP_PROXY=http://127.0.0.1:7890' >> ~/.bashrcecho 'export HTTPS_PROXY=http://127.0.0.1:7890' >> ~/.bashrcsource ~/.bashrc验证代理:
curl -x http://127.0.0.1:7890 -I https://www.google.com# 应返回:HTTP/2 200🚀 systemd 服务配置(开机自启)
创建服务文件
sudo nano /etc/systemd/system/openclaw-gateway.service完整配置内容
[Unit]Description=OpenClaw Gateway ServiceDocumentation=https://docs.openclaw.aiAfter=network.targetWants=network-online.target
[Service]Type=simpleUser=rootGroup=rootWorkingDirectory=/root/.openclaw/workspace
# 环境变量(代理配置)Environment="HTTP_PROXY=http://127.0.0.1:7890"Environment="HTTPS_PROXY=http://127.0.0.1:7890"
# Node.js 内存优化Environment="NODE_OPTIONS=--max-old-space-size=2048"
# 启动命令ExecStart=/usr/local/bin/openclaw gateway startExecReload=/bin/kill -HUP $MAINPID
# 重启策略Restart=alwaysRestartSec=10
# 资源限制LimitNOFILE=65535LimitNPROC=4096
# 日志配置StandardOutput=journalStandardError=journalSyslogIdentifier=openclaw-gateway
[Install]WantedBy=multi-user.target启用服务
# 重载 systemd 配置sudo systemctl daemon-reload
# 启用开机自启sudo systemctl enable openclaw-gateway
# 启动服务sudo systemctl start openclaw-gateway
# 查看状态(应显示 Active: active (running))sudo systemctl status openclaw-gateway日志管理
# 实时查看日志sudo journalctl -u openclaw-gateway -f
# 查看最近 100 行sudo journalctl -u openclaw-gateway -n 100
# 按时间筛选sudo journalctl -u openclaw-gateway --since "2026-03-17 10:00:00"
# 清理旧日志(保留 7 天)sudo journalctl -u openclaw-gateway --vacuum-time=7d
# 限制日志大小(最多 100MB)sudo journalctl -u openclaw-gateway --vacuum-size=100M🔍 故障排查(精准诊断)
问题 1:安装过程中 OOM(内存溢出)
症状:安装过程中服务器卡死,SSH 断开连接
诊断:
# 查看内存使用free -h
# 查看 OOM 日志dmesg | grep -i "out of memory"解决方案:
# 1. 配置 Swap(见上文)sudo fallocate -l 2G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfile
# 2. 重启安装npm install -g openclaw问题 2:Node.js 版本不兼容
症状:Error: Unsupported Node.js version
解决方案:
# 1. 查看当前版本node --version
# 2. 使用 NVM 切换到 v22nvm install 22nvm use 22nvm alias default 22
# 3. 重新安装 OpenClawnpm uninstall -g openclawnpm install -g openclaw问题 3:网络超时
症状:Error: connect ETIMEDOUT
诊断步骤:
# 1. 测试基础网络ping -c 4 www.baidu.com
# 2. 测试代理curl -x http://127.0.0.1:7890 -I https://www.google.com
# 3. 检查 Clash 状态ps aux | grep clashnetstat -tlnp | grep 7890解决方案:
# 启动 Clashnohup clash -d /root/.config/clash/ > /tmp/clash.log 2>&1 &
# 配置环境变量export HTTP_PROXY=http://127.0.0.1:7890export HTTPS_PROXY=http://127.0.0.1:7890问题 4:初始化向导卡住
症状:卡在某个步骤无法继续
解决方案:
# 1. 退出向导(Ctrl+C)
# 2. 清除配置重新初始化rm -rf ~/.openclaw/config.jsonopenclaw init
# 3. 或者手动编辑配置nano ~/.openclaw/config.json问题 5:TUI 界面无法启动
症状:选择 TUI 后黑屏或闪退
解决方案:
# 1. 检查终端兼容性echo $TERM # 应显示:xterm-256color 或 screen
# 2. 设置终端类型export TERM=xterm-256color
# 3. 重新启动openclaw start
# 4. 或者使用 Web UIopenclaw gateway start# 浏览器访问:http://localhost:18789✅ 验证安装(完整测试清单)
逐项检查,全部通过才算成功:
# □ 1. 检查版本号openclaw --version# 期望输出:openclaw/x.x.x linux-x64 node-v22.12.0
# □ 2. 检查网关状态openclaw gateway status# 期望输出:Gateway is running
# □ 3. 检查端口监听netstat -tlnp | grep 18789# 期望输出:tcp6 0 0 :::18789 :::* LISTEN
# □ 4. 测试本地访问curl http://localhost:18789/health# 期望输出:{"status":"ok"}
# □ 5. 发送测试消息openclaw message send "Hello OpenClaw!"# 期望:收到 AI 回复
# □ 6. 检查日志无 ERRORsudo journalctl -u openclaw-gateway -n 50 | grep ERROR# 期望:无输出
# □ 7. 检查 systemd 服务状态sudo systemctl status openclaw-gateway# 期望输出:Active: active (running)
# □ 8. 测试开机自启sudo reboot# 重启后检查:sudo systemctl status openclaw-gateway# 期望:服务自动启动成功标志:
- ✅ 8 项检查全部通过
- ✅ 日志无 ERROR 级别错误
- ✅ 服务重启后自动恢复
📊 性能优化(生产环境)
1. Node.js 内存优化
编辑 systemd 服务:
sudo nano /etc/systemd/system/openclaw-gateway.service添加内存配置(根据服务器内存调整):
# 4GB 内存服务器Environment="NODE_OPTIONS=--max-old-space-size=2048"
# 8GB 内存服务器Environment="NODE_OPTIONS=--max-old-space-size=4096"
# 16GB 内存服务器Environment="NODE_OPTIONS=--max-old-space-size=8192"重载并重启:
sudo systemctl daemon-reloadsudo systemctl restart openclaw-gateway2. 定期清理缓存
创建清理脚本:
nano ~/cleanup-openclaw.sh脚本内容:
#!/bin/bashecho "🧹 开始清理 OpenClaw 缓存..."
# 清理 npm 缓存npm cache clean --forceecho "✅ npm 缓存已清理"
# 清理系统日志(保留 7 天)sudo journalctl --vacuum-time=7decho "✅ 系统日志已清理"
# 清理 OpenClaw 日志(保留 100MB)sudo journalctl -u openclaw-gateway --vacuum-size=100Mecho "✅ OpenClaw 日志已清理"
# 清理临时文件rm -rf /tmp/openclaw-*echo "✅ 临时文件已清理"
echo "🎉 清理完成!"赋予执行权限并运行:
chmod +x ~/cleanup-openclaw.sh~/cleanup-openclaw.sh添加到 crontab(每周日凌晨 3 点自动清理):
crontab -e# 添加:0 3 * * 0 /home/ubuntu/cleanup-openclaw.sh📚 更多资源
官方文档
社区教程
其他平台部署
📝 更新日志
| 版本 | 日期 | 更新内容 |
|---|---|---|
| v3.0 | 2026-03-17 | 整合官方一键脚本 + NVM 安装 + 初始化向导详解 |
| v2.0 | 2026-03-17 | 增加电气安全警示、精准参数、故障排查流程图 |
| v1.5 | 2026-03-10 | 增加 systemd 服务配置、性能优化章节 |
| v1.0 | 2026-03-01 | 初始版本发布 |
最后更新:2026-03-17
作者:OpenClaw 社区
许可:MIT
审核:嵌入式硬件专家(15 年 + 经验)
觉得有用?欢迎分享给更多朋友! 🚀
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!














