在Ubuntu 22.04 LTS上部署OpenClaw前,我们需要确保系统环境满足基本要求。我使用的是一台4核8GB内存的云服务器,带宽100Mbps,这个配置足够运行OpenClaw及其依赖组件。
首先执行系统更新,这是任何Linux环境配置的标准第一步:
bash复制sudo apt update && sudo apt upgrade -y
这个命令做了两件事:
apt update刷新软件包索引,获取最新的软件版本信息apt upgrade将所有已安装的软件升级到最新版本接着安装curl工具,它是后续下载安装脚本的必备工具:
bash复制sudo apt install -y curl
提示:
-y参数表示自动确认所有提示,适合自动化脚本场景。如果是交互式终端操作,可以省略这个参数以便查看每个安装步骤的详细信息。
OpenClaw需要Node.js运行时环境,我们通过NodeSource仓库安装最新的LTS版本(长期支持版)。相比Ubuntu自带的Node.js版本,NodeSource提供的版本更新且更稳定。
添加NodeSource仓库并安装Node.js:
bash复制curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
安装完成后验证版本:
bash复制node -v # 应输出v24.14.0或更高
npm -v # 应输出11.9.0或更高
由于网络原因,国内直接使用npm官方源可能速度较慢。我们可以配置淘宝镜像源来加速依赖下载:
bash复制npm config set registry https://registry.npmmirror.com
验证配置是否生效:
bash复制npm config get registry
# 应输出:https://registry.npmmirror.com
经验分享:在实际部署中,我发现使用淘宝镜像可以将依赖下载时间从几分钟缩短到几秒钟,特别是在安装包含大量依赖的项目时效果尤为明显。
OpenClaw提供了便捷的安装脚本,通过curl管道直接执行:
bash复制curl -fsSL https://openclaw.ai/install.sh | bash
这个命令的工作原理:
curl -fsSL从OpenClaw官网下载安装脚本|将脚本内容传递给bash立即执行安装过程中有几个关键点需要注意:
安装过程中输出的日志包含重要信息,我将其中的关键部分整理如下:
环境检测部分:
code复制✓ Detected: linux
✓ Node.js v24.14.0 found
· Active Node.js: v24.14.0 (/usr/bin/node)
· Active npm: 11.9.0 (/usr/bin/npm)
这部分验证了我们的Node.js环境符合要求。
安装过程部分:
code复制· Installing OpenClaw v2026.2.26
✓ OpenClaw npm package installed
✓ OpenClaw installed
显示成功安装了2026.2.26版本(你的实际版本可能不同)。
PATH警告:
code复制! PATH missing npm global bin dir: /home/ubuntu/.npm-global/bin
This can make openclaw show as "command not found" in new terminals.
Fix (zsh: ~/.zshrc, bash: ~/.bashrc):
export PATH="/home/ubuntu/.npm-global/bin:$PATH"
这个警告非常重要,它提示我们需要将npm的全局bin目录添加到PATH环境变量中,否则后续无法直接使用openclaw命令。
安装完成后会自动进入交互式配置向导,主要包含以下步骤:
安全警告确认:必须仔细阅读安全提示,了解OpenClaw目前仍处于测试阶段,可能存在安全风险
运行模式选择:建议新手选择"QuickStart"模式,使用默认配置快速开始
模型提供商选择:根据提示选择"Z.AI"作为模型提供商
API密钥配置:输入从Z.AI获取的有效API密钥
默认模型设置:系统推荐使用zai/glm-5,但也可以根据需求选择其他模型如zai/glm-4.7
通信渠道配置:可以跳过初始配置,后续再添加飞书、微信等渠道
技能模块选择:初次使用建议先不启用额外技能,熟悉基础功能后再逐步添加
系统服务安装:脚本会自动配置systemd用户服务,并启用linger防止服务在退出登录后停止
安装完成后,如果直接运行openclaw命令可能会提示"command not found",这是因为npm全局安装的二进制文件所在目录不在系统PATH中。
解决方法如下:
首先确认openclaw的安装位置:
bash复制npm list -g | grep openclaw
然后检查npm的全局安装目录:
bash复制npm prefix -g
# 典型输出:/home/ubuntu/.npm-global
将npm全局bin目录添加到PATH中(根据你的shell类型选择):
bash复制# 对于bash用户
echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# 对于zsh用户
echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
验证配置是否生效:
bash复制which openclaw
# 应输出类似:/home/ubuntu/.npm-global/bin/openclaw
OpenClaw安装后会自动注册为systemd用户服务,可以通过以下命令管理:
启动服务:
bash复制systemctl --user start openclaw-gateway
查看服务状态:
bash复制systemctl --user status openclaw-gateway
设置开机自启:
bash复制systemctl --user enable openclaw-gateway
查看日志:
bash复制journalctl --user-unit openclaw-gateway -f
注意事项:systemd用户服务默认会在用户注销时停止,安装脚本已经自动启用了linger功能来避免这个问题。如果发现服务意外停止,可以检查
loginctl show-user ubuntu中的Linger属性是否为yes。
OpenClaw的Web控制界面默认只绑定在127.0.0.1(本地回环接口),为了从外部访问,我们需要建立SSH隧道:
在本地计算机执行:
bash复制ssh -N -L 18789:127.0.0.1:18789 ubuntu@你的服务器IP
这个命令的参数解析:
-N:不执行远程命令,仅做端口转发-L:本地端口转发(格式:本地端口:目标地址:目标端口)安全提示:如果服务器在公网环境,建议使用SSH密钥认证而非密码认证,并考虑修改默认SSH端口以提高安全性。
安装完成后,脚本会输出一个包含访问令牌的URL,格式如下:
code复制http://127.0.0.1:18789/#token=2962e8f5116c63d86ea9c8224bc8d6445cce2e806ed1e183
通过SSH隧道建立后,在本地浏览器访问:
code复制http://localhost:18789/#token=你的令牌
OpenClaw的Web控制界面主要包含以下区域:
首次使用时,建议:
OpenClaw在安装过程中特别强调了安全警告,作为部署者应当注意:
访问控制:
令牌管理:
~/.openclaw/openclaw.json中找到或通过命令查看:bash复制openclaw config get gateway.auth.token
定期审计:
bash复制openclaw security audit --deep
openclaw security audit --fix
对于生产环境部署,建议额外考虑:
资源隔离:
会话隔离:
bash复制openclaw config set session.dmScope "per-channel-peer"
备份策略:
~/.openclaw目录监控告警:
问题1:安装脚本执行失败,提示网络错误
解决方案:
sudo ufw disablebash复制export https_proxy=http://your-proxy:port
问题2:npm安装依赖超时
解决方案:
bash复制npm cache clean -f
问题1:openclaw命令找不到
解决方案:
bash复制$(npm prefix -g)/bin/openclaw --version
问题2:Web界面无法访问
解决方案:
bash复制systemctl --user status openclaw-gateway
bash复制ss -tulnp | grep 18789
问题1:响应速度慢
解决方案:
htopbash复制openclaw config set session.maxContextLength 2048
问题2:内存占用高
解决方案:
bash复制openclaw config set gateway.workers 2
bash复制systemctl --user restart openclaw-gateway
除了默认的Z.AI模型,OpenClaw支持多种模型提供商:
查看可用模型:
bash复制openclaw models list
切换默认模型:
bash复制openclaw config set model.default "zai/glm-4.7"
配置模型特定参数:
bash复制openclaw config set model.zai.temperature 0.7
安装飞书插件:
bash复制openclaw plugins install feishu
获取飞书开发者凭证:
配置飞书插件:
bash复制openclaw config set plugins.feishu.appId "your_app_id"
openclaw config set plugins.feishu.appSecret "your_app_secret"
重启服务使配置生效
OpenClaw支持通过技能模块扩展功能:
查看可用技能:
bash复制openclaw skills list
启用特定技能:
bash复制openclaw skills enable web_search
配置技能参数(如Brave搜索API):
bash复制openclaw config set tools.web.braveApiKey "your_api_key"
日志检查:
bash复制journalctl --user-unit openclaw-gateway -n 50 -f
存储清理:
bash复制openclaw cleanup --sessions --days 30
性能监控:
bash复制openclaw status --verbose
检查当前版本:
bash复制openclaw --version
升级OpenClaw:
bash复制npm update -g @openclaw/cli
重启服务:
bash复制systemctl --user restart openclaw-gateway
关键数据目录:
~/.openclaw/workspace:工作区文件~/.openclaw/agents:代理配置和会话数据~/.openclaw/openclaw.json:主配置文件建议备份命令:
bash复制tar -czvf openclaw-backup-$(date +%Y%m%d).tar.gz ~/.openclaw
在实际部署过程中,我发现定期备份配置文件特别重要,尤其是在进行重大配置变更前。曾经有一次我在没有备份的情况下修改配置导致服务无法启动,最后不得不重新安装。现在我的习惯是每次修改重要配置前都先做备份。