如果你想让 OpenClaw 24/7 在线运行,把它部署到 VPS 上通常比放在本地电脑更稳。
官方文档对这条路径支持已经比较完整:Linux VPS 可以直接跑 OpenClaw Gateway,再通过 SSH 隧道或其他受控方式从你的笔记本访问控制界面。这样做的好处是,工作区、状态和后台服务都留在服务器上,不会因为你合上电脑或本地网络波动而中断。
这篇文章按一台常见的 Ubuntu VPS 来写,目标很明确:
- 把 OpenClaw 安装到云服务器上
- 让 Gateway 以后台服务方式常驻运行
- 从本地浏览器安全访问控制界面
- 顺手处理安装过程里最常见的几个报错
开始之前,你至少需要下面这些条件:
- 一台 Ubuntu VPS
- 一个可以 SSH 登录的普通用户
- 服务器可以正常访问外网
- 本地电脑也能使用
ssh命令
从官方 FAQ 来看,OpenClaw 在 VPS 上的最低门槛不高,但更建议你至少准备一台 1-2 vCPU / 2GB RAM 的机器。系统优先选 Ubuntu LTS 或 Debian 系发行版。
如果你只是试跑,低配也能启动;如果你后面还要挂更多渠道、跑更多工作区,建议一开始就不要把内存卡得太死。
先登录服务器:
ssh your-user@your-server-ip
连上之后先做一次系统更新:
sudo apt update && sudo apt upgrade -y
然后安装一些基础工具:
sudo apt install -y curl git unzip ca-certificates
这一步看起来普通,但很重要。很多后续的安装失败,本质上都是系统太旧、证书不完整,或者连 curl、git 这些基础命令都没补齐。
OpenClaw 官方目前推荐使用 Node 24,也兼容较新的 Node 22 LTS。对 VPS 来说,最稳妥的做法是直接装官方支持的较新版本,而不是继续用 Ubuntu 软件源里可能偏老的 Node。
如果你机器里还没有 Node,可以先检查一下:
node -v
npm -v
如果没有安装,或者版本太旧,可以用 NodeSource 方式安装 Node 24:
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt install -y nodejs
安装完成后再确认一次版本:
node -v
npm -v
如果这里输出的是 Node 24,后面就可以继续了。
如果你想走最短路径,可以直接执行官方安装脚本:
curl -fsSL https://openclaw.ai/install.sh | bash
这个方式适合想尽快跑起来的人。
如果你更希望自己掌控每一步,也可以直接用 npm 全局安装:
npm install -g openclaw@latest
安装完成后,确认命令已经可用:
openclaw --version
如果这里能正常输出版本号,说明 CLI 安装已经成功。
OpenClaw 官方推荐的初始化入口不是手动拼一堆配置,而是直接运行:
openclaw onboard --install-daemon
这个命令会带你完成初始配置,并顺手把 Gateway 安装成后台服务。
你可以把它理解成两件事一起做:
- 完成 OpenClaw 的第一次配置
- 把 Gateway 注册成 systemd 用户级服务,保证它退出终端后还能继续运行
在这个过程中,你通常会遇到这些关键输入:
- Gateway 监听端口
- 访问认证方式
- shared secret 或 token
- 工作区或 profile 的初始化配置
建议你把 token 或密码先记下来,后面本地浏览器访问时会用到。
初始化结束后,先不要急着去本地打开界面,先在服务器上确认服务状态。
可以先看进程或服务:
systemctl --user status openclaw-gateway
如果你的服务名带 profile 后缀,也可能是类似这样的名字:
systemctl --user status openclaw-gateway-yourprofile
如果你想看日志:
journalctl --user -u openclaw-gateway -f
或者对应你自己的 profile 服务名。
正常情况下,你应该能看到 Gateway 已经监听在默认端口 18789,并且服务状态是 running。
如果前面的安装流程没有自动安装成功,也可以手动再执行一次:
openclaw gateway install
或者重新跑:
openclaw doctor
官方文档也把 doctor 当作修复和迁移场景下的首选排查入口。
这是 VPS 部署里最关键的一步,也是最容易被忽略的一步。
很多人一装好服务,就想直接把 18789 端口暴露到公网。但官方文档更推荐的方式,是先只让 Gateway 监听本地回环地址,再用 SSH 隧道从自己的电脑访问。
在你的本地电脑上执行:
ssh -N -L 18789:127.0.0.1:18789 your-user@your-server-ip
这条命令的意思是:
- 把你本地的
127.0.0.1:18789 - 转发到 VPS 上的
127.0.0.1:18789
然后在本地浏览器里打开:
http://127.0.0.1:18789/
你会看到 OpenClaw 的控制界面,然后输入在 openclaw onboard 阶段配置的 token 或密码。
这条路径的优点非常直接:
- 不需要把管理端口直接暴露在公网
- 安全边界更清晰
- 适合个人或小团队长期使用
如果你后面确实要做更长期的远程接入,再考虑 Tailscale 或其他更完整的网络方案会更合理。
能打开控制界面不代表安装已经完全可用了,还应该再做一层验证。
你可以在服务器上测试下面这些命令:
openclaw doctor
如果你只想确认 Gateway 能否前台启动,也可以临时跑:
openclaw gateway --port 18789 --verbose
如果你已经完成了模型或渠道相关配置,还可以继续做更进一步的功能验证,比如发送一条测试消息,或者发起一段简单的 agent 对话。
但对于安装教程来说,到这一步已经足够判断:
- Node 环境正常
- OpenClaw CLI 可用
- Gateway 已经部署成功
- 本地能够通过 SSH 隧道安全访问
如果你只是第一次试装,前面这条 Node + npm + onboard 的方式已经够用了。
但如果你准备把 OpenClaw 作为长期常驻服务跑在 VPS 上,Docker 路线也值得你考虑,尤其是下面几种情况:
- 你希望运行方式更统一
- 你已经有现成的 Docker 运维习惯
- 你想更清晰地管理数据目录和升级流程
官方文档里已经提供了 Hetzner 场景下的 Docker Compose 方案,核心思路是把这些目录做持久化:
~/.openclawworkspace- 可能还包括其他运行时缓存目录
如果你后面要写成更偏生产环境的部署方案,完全可以在这篇基础上继续扩展一篇“OpenClaw Docker 化部署”文章。
这通常说明全局 npm 安装目录不在当前 shell 的 PATH 里,或者安装根本没成功。
先检查:
npm root -g
npm bin -g
然后确认对应目录是否已经加入 PATH。
如果你是通过安装脚本装的,也建议重新开一个 shell 会话后再试一次。
如果你看到运行时报错,先第一时间检查 Node 版本:
node -v
OpenClaw 官方当前推荐 Node 24。Ubuntu 默认源里的 Node 往往太老,不建议直接拿来跑。
这种情况一般优先排查 3 件事:
- VPS 上的 Gateway 是否真的在跑
- 你的 SSH 隧道命令是否还保持连接
- 端口是否写错了
最常见的问题不是 OpenClaw 没启动,而是你把 SSH 会话关掉了,导致本地转发已经失效。
技术上可以,但不建议上来就这么做。
如果你没有把认证模式、监听地址和访问来源限制清楚,等于把管理面直接暴露出去。对个人部署来说,SSH 隧道通常已经够用了。
如果你只是前台执行过 openclaw gateway --port 18789,那它在你退出 shell 后当然会停。
要长期运行,应该使用:
openclaw onboard --install-daemon
或者:
openclaw gateway install
然后用 systemctl --user 去确认服务状态。
如果你只是想在 VPS 上把 OpenClaw 跑起来,最稳的路径其实并不复杂:
- 准备一台 Ubuntu VPS
- 安装 Node 24
- 安装 OpenClaw CLI
- 运行
openclaw onboard --install-daemon - 用 SSH 隧道访问
127.0.0.1:18789
这条路径比“直接暴露公网端口”更适合大多数个人用户,也更符合 OpenClaw 官方对 VPS 部署的推荐方式。
如果你后面准备长期运行、多设备接入,或者挂更多自动化任务,再继续做 Docker 化、远程访问和备份策略会更稳。
下一步最实际的事情不是继续看教程,而是先把你自己的 VPS 真跑起来,然后用 openclaw doctor 做一次完整检查。
