最近在云服务器上安装 OpenClaw(2026.3.2),遇到了一些坑,特此记录下来,供大家参考。
在安装 OpenClaw 之前需要先安装 Node.js 和 npm,并且 Node.js 需要比较新的版本。所以推荐在选配云服务器的时候,预装 Node.js,否则境内安装会比较麻烦。

验证当前 Node.js 版本:
node -v
除了预装的 Node.js 外,还需要安装 git,以及推荐常用的性能监控工具 btop:
sudo apt update && sudo apt install btop git -y
云服务器的端口开放 22 即可,不用开放 18789 端口,可以使用 ssh 转发的方式访问 openclaw 的 web UI,避免安全风险。
不推荐使用 root 账户安装,存在安全风险,并且有概率出现 systemctl --user 相关的错误,导致安装失败。
创建新用户的方法:
sudo adduser claw sudo usermod -aG sudo claw
对于使用 ssh key 登录的新用户,需要额外配置 authorized_keys:
mkdir -p /home/claw/.ssh echo "ssh-ed25519 你的公钥内容" > /home/claw/.ssh/authorized_keys chmod 700 /home/claw/.ssh chmod 600 /home/claw/.ssh/authorized_keys chown -R claw:claw /home/claw/.ssh sudo vim /etc/ssh/sshd_config # sshd_config 中 取消以下行的注释 # PubkeyAuthentication yes # AuthorizedKeysFile .ssh/authorized_keys sudo systemctl restart ssh
云服务器销毁重建可能会遇到 IP 相同,但是 ssh key 不同的情况,需要删除原来的 ssh key:
ssh-keygen -R "服务器IP地址"
排查耗时最久的坑
虽然很多文档中都提及云服务器的配置内存 2G 以上即可,但实测 2G 内存在 openclaw 的配置更新等场景下,会存在性能问题,并且在 ECS 上表现为内存占满、磁盘 IO 占满、SSH 无法连接的情况。

部分情况下内存超过 2G,如下图所示(印象里最高是到了 2.9 G):

如果为了偶尔的内存爆发而选择 4G 内存的服务器,成本会翻倍。推荐配置 swap 分区,大小可以配置为物理内存的 1-2 倍:
# 查看 swap 状态 sudo swapon --show free -h cat /proc/swaps # 创建 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 # 调整 swappiness(临时) sudo sysctl vm.swappiness=10 # 调整 swappiness(永久) # 编辑 /etc/sysctl.conf,添加:vm.swappiness=10 # 关闭与删除 swap sudo swapoff /swapfile sudo rm /swapfile
对于境内的服务器,无论是使用 curl 安装还是 npm install -g openclaw,配置 npm 镜像源都可以加速安装过程:
npm config set registry https://registry.npmmirror.com
使用以下命令之一安装 OpenClaw:
# 方式一:使用官方脚本(推荐) curl -fsSL https://openclaw.ai/install.sh | bash # 方式二:使用 npm npm install -g openclaw
OpenClaw 安装的时候需要进行配置,推荐配置如下:
- Onboarding mode:选择
Manual - Gateway bind:默认以及推荐使用
Loopback (127.0.0.1)模式,之后使用 ssh 转发的方式访问 openclaw 的 web 界面,避免直接暴露 Gateway port(默认是 18789)到公网,提高安全性
其他大部分选项都可以使用默认,或参考如下配置(摘自阿里云文档 https://help.aliyun.com/zh/model-studio/openclaw-coding-plan):
| 配置项 | 配置内容 |
|---|---|
| I understand this is powerful and inherently risky. Continue? | 选择Yes |
| Model/auth provider | 选择Skip for now,后续可以配置 |
| Filter models by provider | 选择All providers |
| Default model | 使用默认配置 |
| Select channel (QuickStart) | 选择Skip for now,后续可以配置 |
| Configure skills now? (recommended) | 选择No,后续可以配置。 |
| Enable hooks? | 按空格键选中,选择Skip for now,按回车键进入下一步。 |
安装 openclaw 会提示使用 ssh 转发。注意:openclaw 可能提供的是内网地址,需要替换成公网地址:
ssh -i ~/.ssh/id_ed25519-ZEO -N -L 18789:127.0.0.1:18789 claw@服务器公网IP地址
使用以下命令获取 openclaw 的 web UI 地址、token 等信息:
openclaw dashboard

使用以下命令查看 openclaw 的运行状态,需要重点关注 gateway 的状态。如果显示 reachable (绿色),说明是正常的,端口也是正常的:
openclaw status

在安装的时候如果遇到了以下错误:
Error: systemctl is-enabled unavailable: Command failed: systemctl --user is-enabled openclaw-gateway.service
可以运行 openclaw doctor 进行诊断,然后根据提示使用 openclaw doctor --fix 进行修复:
openclaw doctor openclaw doctor --fix
参考资源:
- openclaw gateway status fails on EC2/headless servers due to missing user-level systemd
- 该 issue 下还提供了其他解决方法,可根据自己的情况选择适合的方案


# 查看 OpenClaw 状态 openclaw status # 查看控制面板信息 openclaw dashboard # 系统诊断 openclaw doctor # 修复系统问题 openclaw doctor --fix # 查看 Node.js 版本 node -v # 查看 Swap 状态 free -h sudo swapon --show
发布者:Ai探索者,转载请注明出处:https://javaforall.net/253169.html原文链接:https://javaforall.net
