ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

云主机 Ubuntu 24 部署 OpenClaw 全流程:TaoToken 配置避坑与 systemd 守护实战

云主机 Ubuntu 24 部署 OpenClaw 全流程:TaoToken 配置避坑与 systemd 守护实战 1. 云主机 Ubuntu 24 部署 OpenClaw从 SSH 到 systemd 常驻的完整链路OpenClaw 是一个可以常驻在服务器上、通过聊天通道接收指令并调用大模型完成任务的智能体框架。它适合想把 AI 助手从本机搬到云主机、实现 7×24 小时在线的人也适合需要给团队搭一个统一入口的开发者。我这次用的是 Ubuntu 24 的云主机通过 SSH 远程操作核心目标有两个一是把 OpenClaw 的 API 通道配置跑通二是用 systemd 把 gateway 进程守护起来避免 SSH 断开后服务跟着挂掉。很多人第一次装 OpenClaw 会卡在两个地方安装脚本跑完了但 gateway 服务起不来或者服务起来了但模型请求发不出去报鉴权或通道错误。前者多半是 systemd user 实例和运行目录的问题后者通常是 API Key 和 base_url 没配对。这篇就按真实操作顺序把 Ubuntu 24 上的安装、TaoToken 统一 Key 接入、config.toml 骨架、systemd 守护和验证命令一次讲清楚你照着敲基本能跑通。需要提前说明的是云主机建议至少 4GB 内存并且加不低于 2GB 的 swap。2GB 内存的机器我在配置环节反复遇到内存被打爆的情况进程直接被 OOM 杀掉所以别在这上面省。SSH 连接也建议延长保活时间或者直接用 tmux防止安装中途断线导致服务状态不完整。2. 前置准备TaoToken 统一 Key 与运行环境OpenClaw 本身不绑定某一家模型它通过 OpenAI 兼容的接口去请求模型。这里我用 TaoToken 作为统一接入层一个 Key 就能覆盖多种模型省去在多个平台之间来回切换和分别配置的麻烦。对 OpenClaw 来说它只需要一个 base_url 和一个 api_key剩下的模型选择在请求时指定即可。TaoToken 的 API 地址是https://taotoken.net/api注意这个地址不带任何查询参数直接作为 OpenAI 兼容的 base_url 使用。Key 的获取在控制台的 API Keys 页面完成建议单独建一个给 OpenClaw 用的 Key方便后续轮换和排查。如果你还没建 Key可以先到控制台生成一个复制出来备用。在云主机上先确认基础环境。Ubuntu 24 默认的软件源里 Node.js 版本可能偏旧OpenClaw 对 Node 版本有要求建议用 NodeSource 或 nvm 装一个较新的 LTS。下面这几条先跑一遍确认版本和内存情况node -v npm -v free -h swapon --show如果swapon --show是空的说明还没开 swap补一个 2GB 的交换文件fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo /swapfile none swap sw 0 0 /etc/fstab内存和 swap 确认没问题后再开始装 OpenClaw。安装脚本会拉取依赖并初始化配置过程中如果 SSH 断了重连后可能处于半完成状态所以前面说的 tmux 或保活参数很有必要。3. 可复制配置安装 OpenClaw 与 config.toml 骨架先用带保活参数的 SSH 登录避免长时间无操作被断开ssh -o ServerAliveInterval60 -o ServerAliveCountMax60 root你的服务器IP登录后建议开一个 tmux 会话再操作tmux new -s openclaw然后执行官方安装脚本curl -fsSL https://openclaw.ai/install.sh | bash安装完成后会自动进入配置向导。如果中途退出了可以用openclaw onboard重新拉起。向导里会让你选模型提供方、填 API Key、选连接通道和 skills。模型这里选 OpenAI 兼容类型base_url 填https://taotoken.net/apiapi_key 填你在 TaoToken 控制台生成的 Key。skills 环节建议先只装blucli和clawhub这两个管理类技能其他等 gateway 稳定运行后再补减少启动依赖出问题的概率。配置写完后核心文件在~/.openclaw/openclaw.json但为了 systemd 守护和后续维护我更推荐用一份明确的config.toml骨架来管理关键参数。下面这份可以直接改# ~/.openclaw/config.toml [gateway] port 18789 mode local bind loopback [gateway.auth] mode token token 替换成你自己的gateway访问token [model] provider openai-compatible base_url https://taotoken.net/api api_key 替换成你的TaoToken Key default_model gpt-4o-mini [skills] enabled [blucli, clawhub]这里base_url一定不要写成带/v1之外多余路径的形式TaoToken 的兼容层会自己处理路由。api_key就是统一 Key换模型时只改default_model即可不用动 Key。gateway 的 token 是本地访问用的和模型 Key 是两回事别混。4. 验证请求systemd 守护与 gateway 启动检查配置写好后先手动跑一次 gateway确认模型通道是通的openclaw gateway start --foreground前台运行时观察日志如果出现模型请求相关的鉴权错误多半是api_key或base_url写错。确认能正常响应后CtrlC 停掉改用 systemd 守护。Ubuntu 24 上 root 用户直接跑 systemd user 实例容易遇到systemd not installed或systemctl is-enabled unavailable所以先把运行目录和 service 文件准备好OPENCLAW_BIN$(command -v openclaw) echo $OPENCLAW_BIN mkdir -p /run/user/0 chmod 700 /run/user/0 export XDG_RUNTIME_DIR/run/user/0 mkdir -p /root/.config/systemd/user然后写 service 文件注意WorkingDirectory和OPENCLAW_HOME要指向真实目录否则 gateway 找不到配置cat /root/.config/systemd/user/openclaw-gateway.service EOF [Unit] DescriptionOpenClaw Gateway (user) Afternetwork.target [Service] Typesimple EnvironmentXDG_RUNTIME_DIR/run/user/0 EnvironmentOPENCLAW_HOME/root/.openclaw WorkingDirectory/root/.openclaw ExecStart$OPENCLAW_BIN gateway start Restartalways RestartSec2 [Install] WantedBydefault.target EOF加载并启动systemctl --user daemon-reload systemctl --user enable --now openclaw-gateway.service systemctl --user status openclaw-gateway.service --no-pager -l如果状态不是 active先看日志journalctl --user -u openclaw-gateway.service -n 50 --no-pager确认端口监听ss -lntp | grep 18789看到监听在127.0.0.1:18789就说明 gateway 起来了。此时可以断开 SSH 重连再查一次状态验证 systemd 守护是否独立于会话。重连后如果还是 active说明守护生效。本地访问时因为绑定的是 loopback需要建 SSH 隧道ssh -N -L 18789:127.0.0.1:18789 root你的服务器IP然后本地浏览器打开http://127.0.0.1:18789/#token你的gateway token能看到 Web 界面并正常对话就说明模型通道和 gateway 都通了。5. 本篇常见错排查gateway 起不来与模型请求失败第一个高频错误是Gateway service: systemd not installed。这通常是因为 systemd user 实例没有正确初始化或者XDG_RUNTIME_DIR没设置。解决办法就是上面那套手动创建/run/user/0导出XDG_RUNTIME_DIR再写 service 文件。如果还不行用openclaw gateway install --force重新生成一次 service再daemon-reload。第二个是systemctl is-enabled unavailable: Command failed。这个多半是 service 文件路径不对或者WantedBy写成了multi-user.target而不是default.target。user 实例必须用default.target改完记得daemon-reload。第三个是 gateway 起来了但模型请求 401 或 404。401 一般是 TaoToken Key 填错或过期去控制台重新生成一个换上404 多半是base_url写成了https://taotoken.net/api/v1之外的多余路径或者模型名写错。用curl直接测一下通道curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer 你的TaoToken Key \ -H Content-Type: application/json \ -d {model:gpt-4o-mini,messages:[{role:user,content:ping}]}能返回内容说明 Key 和地址没问题问题就在 OpenClaw 的配置里。第四个是内存不足导致进程被杀journalctl里会看到 OOM 记录回去加 swap 或升配内存即可。6. 接入文档与后续通道扩展gateway 稳定运行后下一步通常是把它接到飞书、钉钉这类聊天通道上实现手机随时发指令。OpenClaw 的通道接入不需要把 gateway 暴露到公网飞书这类平台提供长连接模式由 OpenClaw 主动连出去保持会话安全性更好。具体的长连接配置和事件订阅步骤可以对照接入文档来操作文档里有各通道的参数说明和示例。如果你在配 Key 或接通道时遇到鉴权问题直接到 API Keys 页面核对 Key 状态再翻一遍接入文档里的 base_url 和请求头示例基本能定位。想先验证模型是否正常可以用模型对话页面发一条测试消息确认通道通了再回到 OpenClaw 里配。长期跑编码类或 Agent 类任务的话Coding Plan 的额度模型更适合持续调用比按次计费省心。把 gateway 用 systemd 守护好再配上统一 Key这套组合跑起来之后剩下的就是按需扩展 skills 和通道了。
返回列表