1. 项目概述:为什么选择在腾讯云轻量服务器上部署OpenClaw?

最近在折腾AI智能体,OpenClaw这个名字出现的频率越来越高。它不像一些闭源工具那样藏着掖着,而是把整个智能体框架开源出来,让你能根据自己的业务逻辑,去定制一个能理解你指令、自动调用工具、完成复杂任务的“数字员工”。无论是想做个自动处理客服工单的助手,还是想搭建一个能分析数据并生成报告的分析师,OpenClaw提供的这套“大脑”和“手脚”的组装方案,都给了我们很大的发挥空间。

但问题来了,很多朋友在第一步“部署”上就卡住了。在本地电脑上装,要折腾环境、依赖,还可能受限于显卡性能;用一些公开的在线服务,又担心数据安全和定制化程度不够。这时候,一台云服务器就成了折中的最优解。我为什么特别推荐腾讯云轻量服务器?原因很简单:对于大多数个人开发者或中小团队来说,它省心、够用、且成本可控。轻量服务器预装了纯净的系统镜像,自带公网IP和流量包,不用像传统云服务器那样先去配置安全组、搞网络,开箱即用。特别适合用来快速部署像OpenClaw这类Docker化的应用,能让我们把精力集中在智能体本身的开发和调优上,而不是基础环境上。

所以,这篇内容就是基于这个场景来的: 在腾讯云轻量应用服务器上,通过一套尽可能自动化的脚本,完成OpenClaw最新版本的私有化一键部署。 目标很明确:让你在半小时内,从一个干净的Ubuntu系统,到一个可以访问的、功能完整的OpenClaw服务。我会把过程中每个步骤的意图、可能遇到的坑以及怎么填坑,都掰开揉碎了讲清楚。

2. 部署前的核心准备与规划

在真正动手敲命令之前,花十分钟理清思路和准备好“弹药”,能避免后面百分之八十的返工。部署不是简单的复制粘贴,理解每一步在做什么,才能在被报错“突袭”时从容应对。

2.1 服务器选型与配置考量

腾讯云轻量服务器提供了多种配置,对于OpenClaw,我们的选择主要围绕两个核心: 计算性能 内存容量

OpenClaw本身作为一个调度框架,资源消耗并不夸张。但它的“威力”取决于你背后连接的大语言模型(LLM)。如果你计划使用本地部署的轻量级模型(比如通过Ollama运行的Qwen2.5-7B-Instruct、Llama 3.2 3B这类),那么服务器的CPU和内存就会成为瓶颈。反之,如果你直接调用云端API(如OpenAI GPT-4、DeepSeek-V3等),那么服务器的压力主要在网络和轻量的请求处理上。

我的建议如下:

  • 入门体验 & 对接云端API :选择 2核CPU、4GB内存、80GB SSD 的配置(如“通用型-2核4G80G”)完全足够。每月流量包通常也够用,主要开销是模型API调用费用。
  • 本地运行7B参数级模型 :这是很多人的目标,希望能有一个完全私有的环境。为此,我强烈建议至少选择 4核CPU、8GB内存 的配置。内存是关键,因为加载7B模型(如Qwen2.5-7B)通常需要6-8GB的可用内存,系统和其他服务还需要一部分。硬盘选择 100GB SSD 或以上,为模型文件留出空间(一个7B的GGUF格式模型大约4-6GB)。
  • 更高阶的本地模型 :如果想尝试14B或更大参数的模型,就需要考虑 8核16GB 或更高配置的机型,甚至需要考虑带GPU的实例,但这已超出轻量服务器的范畴,成本也会陡增。

注意 :在购买服务器时,地域选择离你或你的目标用户群体较近的,这能降低网络延迟。镜像务必选择 Ubuntu 22.04 LTS 。这是一个长期支持版本,社区资料丰富,与Docker等工具的兼容性经过长期验证,能减少很多莫名奇妙的兼容性问题。

2.2 环境与工具链梳理

我们的部署将高度依赖Docker和Docker Compose,这是目前部署复杂应用最优雅、最隔离的方式。OpenClaw官方也推荐这种方式。因此,整个部署流程可以简化为三个大阶段:

  1. 服务器基础环境配置 :包括系统更新、安装Docker引擎和Docker Compose插件。
  2. 获取并配置OpenClaw :下载官方提供的部署配置文件(docker-compose.yml),并根据我们的需求(比如修改端口、设置访问密码、配置模型连接)进行调整。
  3. 启动与验证 :一键启动所有服务,并通过浏览器访问验证。

这里有一个关键的思维转变:我们不是在服务器上直接安装Python、Node.js等一堆依赖,而是通过Docker镜像,把OpenClaw及其所需的所有环境“打包”成一个独立的、可移植的容器来运行。这保证了环境的一致性,也使得未来的升级、迁移变得异常简单。

3. 实操详解:从零到一的完整部署流程

下面我们进入实战环节。请确保你已经拥有一台全新安装的Ubuntu 22.04 LTS的腾讯云轻量服务器,并已通过SSH连接到它的终端。

3.1 第一步:服务器基础环境搭建

登录后,第一件事不是急着下载OpenClaw,而是为它准备一个干净的“舞台”。

# 1. 更新系统软件包列表,确保我们安装的是最新版本的软件
sudo apt update && sudo apt upgrade -y

# 2. 安装一些可能需要的工具,如curl用于下载,git用于克隆代码(虽然我们主要用curl)
sudo apt install -y curl git

# 3. 安装Docker引擎。这里使用官方提供的一键安装脚本,最省心。
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 4. 将当前用户加入docker组,这样以后就不用每次都写sudo了
sudo usermod -aG docker $USER
# **重要**:执行此命令后,你需要退出当前SSH会话,然后重新登录,用户组变更才会生效。
# 你可以输入 `exit` 退出,然后重新连接服务器。

# 5. 重新登录后,验证Docker安装是否成功
docker --version
# 应该输出类似 Docker version 24.0.7, build xxxxxxx 的信息

# 6. 安装Docker Compose插件(v2)。新版本Docker推荐将其作为插件安装,而非独立二进制文件。
sudo apt install -y docker-compose-plugin
# 验证安装
docker compose version
# 应该输出类似 Docker Compose version v2.24.6 的信息

完成以上步骤,你的服务器就已经具备了运行容器化应用的能力。这个过程我重复过不下几十次,最常遇到的“坑”就是第4步: 忘记重新登录导致 docker 命令依然需要 sudo 。如果遇到 Permission denied 错误,先别慌,检查一下当前用户是否在 docker 组里( groups $USER ),如果不在,执行 sudo usermod -aG docker $USER 后务必 重新登录SSH

3.2 第二步:获取与配置OpenClaw部署文件

OpenClaw的官方代码仓库通常会在根目录或 deploy 目录下提供 docker-compose.yml 文件。我们的目标就是获取这个文件,并对其进行定制化。

# 1. 创建一个专门的工作目录,保持环境整洁
mkdir -p ~/openclaw-deploy && cd ~/openclaw-deploy

# 2. 从官方仓库下载最新的docker-compose.yml文件。
# 请注意,仓库地址和文件路径可能随版本更新而变化,请以OpenClaw官方文档为准。
# 这里假设一个常见的路径,你需要根据实际情况调整。
curl -O https://raw.githubusercontent.com/openclaw/openclaw/main/docker-compose.yml

# 如果curl下载失败或地址不对,也可以尝试克隆整个仓库(体积会大一些)
# git clone https://github.com/openclaw/openclaw.git
# cd openclaw

下载下来后, 不要急着启动 。用文本编辑器(如 nano vim )打开这个 docker-compose.yml 文件,有几处关键配置需要我们根据实际情况调整。

nano docker-compose.yml

你需要关注并可能修改的部分(以下是一个示例,具体变量名请以你下载的文件为准):

  1. 服务端口映射 :找到类似 ports: - "3000:3000" 的部分。左边的 3000 是宿主机(你的服务器)的端口,右边的 3000 是容器内部端口。如果你服务器的3000端口已被占用,或者想换个端口,可以修改左边的数字,例如改为 - "8080:3000" ,这样你访问时就用 http://你的服务器IP:8080
  2. 环境变量配置 :这是核心。通常会有 environment: 部分,里面定义了OpenClaw的运行参数。
    • OPENCLAW_API_KEY : 这是访问OpenClaw API的密钥, 务必修改成一个强密码 ,不要使用默认值。
    • OPENCLAW_MODEL : 默认连接的模型名称。如果你使用OpenAI API,这里可能是 gpt-4 ;如果你使用Ollama本地模型,这里需要改成Ollama中你拉取的模型名,如 qwen2.5:7b
    • OPENCLAW_BASE_URL : 模型API的基础地址。如果使用OpenAI,就是 https://api.openai.com/v1 ;如果使用Ollama(假设Ollama也部署在同一台服务器),那就是 http://host.docker.internal:11434 (这是一个Docker特殊域名,指向宿主机)。 如果Ollama部署在其他地方,请填写其实际的IP和端口
    • DATABASE_URL : 数据库连接字符串。如果使用文件型SQLite(默认),通常不需要改。如果考虑性能和生产环境,可能会指向一个独立的PostgreSQL容器,配置会复杂一些,初次部署建议先保持默认。
  3. 数据持久化卷 :检查 volumes: 配置,确保像数据库文件、上传目录等关键数据被映射到了宿主机的目录(如 ./data:/app/data ),这样即使容器删除,数据也不会丢失。

修改完成后,保存并退出编辑器(在nano中是 Ctrl+X ,然后按 Y 确认,再按回车)。

3.3 第三步:启动服务与初步验证

配置完成后,启动服务就一行命令:

# 在docker-compose.yml所在的目录执行
docker compose up -d

-d 参数代表“后台运行”。执行后,Docker会开始拉取(Pull)所需的镜像(如OpenClaw的核心镜像、数据库镜像等),然后创建并启动容器。你可以通过以下命令观察启动日志和状态:

# 查看所有容器的状态
docker compose ps
# 应该看到所有服务状态为 “running”

# 如果状态不对,查看具体容器的日志,排查问题
docker compose logs [服务名]  # 例如 docker compose logs openclaw-backend
# 或者查看所有服务的实时日志
docker compose logs -f

当看到日志输出稳定,没有持续报错后,就可以尝试访问了。打开你的浏览器,输入 http://你的服务器公网IP:你映射的端口 (例如 http://123.123.123.123:3000 )。

如果一切顺利,你应该能看到OpenClaw的Web用户界面(UI)的登录或初始化页面。根据页面提示,你可能需要输入之前配置的 OPENCLAW_API_KEY 来完成初始设置。

4. 核心进阶配置:连接你的AI大脑(模型)

部署成功只是搭好了舞台,要让OpenClaw这个“演员”表演,还必须为它配置“大脑”——也就是大语言模型。这里提供两种最主流的方案。

4.1 方案一:对接云端模型API(推荐新手)

这是最简单快捷的方式,无需在服务器上消耗大量计算资源。你只需要一个对应模型的API Key。

  1. 获取API Key :前往如OpenAI、Anthropic(Claude)、DeepSeek、智谱AI等平台的开发者控制台,创建并复制你的API Key。
  2. 修改OpenClaw配置 :你需要修改 docker-compose.yml 中OpenClaw服务(可能是 backend openclaw )的环境变量。
    • OPENCLAW_BASE_URL 设置为对应平台的API端点(如OpenAI是 https://api.openai.com/v1 )。
    • OPENCLAW_MODEL 设置为你想使用的模型名称(如 gpt-4o-mini , claude-3-5-sonnet-20241022 , deepseek-chat )。
    • 通常还需要设置一个环境变量来传递API Key,变量名可能是 OPENAI_API_KEY ANTHROPIC_API_KEY 等,这取决于OpenClaw的代码实现和你要连接的平台。 请务必查阅你所用OpenClaw版本的具体文档
  3. 重启服务 :配置修改后,需要重启容器使配置生效。
    docker compose down
    docker compose up -d
    

实操心得 :使用云端API时,最大的成本是Token消耗费用。在OpenClaw中调试智能体(Agent)时,可能会因为逻辑循环或测试产生大量调用。建议初期在平台的Playground或设置里为API Key设置一个较低的用量限额或预算告警,避免意外的高额账单。

4.2 方案二:本地部署Ollama运行开源模型

如果你追求完全私有化、零API费用,并且服务器配置足够,那么本地运行开源模型是理想选择。Ollama是目前管理本地大模型最流行的工具。

  1. 在服务器上安装并运行Ollama

    # 安装Ollama
    curl -fsSL https://ollama.com/install.sh | sh
    # 启动Ollama服务
    ollama serve &
    # 拉取一个模型,例如轻量的Qwen2.5 7B
    ollama pull qwen2.5:7b
    
  2. 配置OpenClaw连接Ollama : 修改 docker-compose.yml 中OpenClaw的环境变量。

    • OPENCLAW_BASE_URL : 设置为 http://host.docker.internal:11434 。这个特殊的DNS名称允许Docker容器访问宿主机的服务。
    • OPENCLAW_MODEL : 设置为你在Ollama中拉取的模型名,如 qwen2.5:7b
    • 关键点 :需要确保OpenClaw的Docker容器网络能够访问宿主机。在 docker-compose.yml 中,为OpenClaw服务添加 extra_hosts 配置或使用 host 网络模式(后者安全性较低,仅建议测试)。
      services:
        openclaw-backend:
          # ... 其他配置 ...
          extra_hosts:
            - "host.docker.internal:host-gateway"
      
      或者,更简单粗暴但有效的测试方式是使用 network_mode: "host" ,但这会让容器共享宿主机的网络栈,失去部分隔离性。
  3. 重启并测试

    docker compose down && docker compose up -d
    

    在OpenClaw的Web界面中,尝试创建一个简单的对话智能体,看它是否能正常调用本地的Qwen模型进行回复。

踩坑记录 host.docker.internal 这个域名在Linux版的Docker中默认可能不支持。如果遇到连接失败,可以尝试改用宿主机的实际内网IP(通过 ip addr show 命令查看,通常是 172.x.x.x 192.168.x.x )。但使用IP的缺点是如果服务器内网IP变动,配置会失效。更规范的做法是创建一个自定义的Docker网络,将Ollama和OpenClaw都加入这个网络,然后通过服务名互相访问。

5. 部署后运维与常见问题排雷

服务跑起来不是终点,稳定运行才是。下面分享一些维护经验和常见问题的解决方法。

5.1 基础运维命令

把这些命令记下来,日常管理会非常顺手:

# 查看服务状态
docker compose ps

# 查看实时日志(跟踪问题)
docker compose logs -f [服务名]

# 停止所有服务
docker compose down

# 停止并删除所有容器、网络(数据卷通常会保留)
docker compose down -v  # 加-v会删除匿名数据卷,慎用!

# 重启某个特定服务(如只重启后端)
docker compose restart openclaw-backend

# 更新服务(当docker-compose.yml或镜像更新后)
docker compose pull    # 拉取最新镜像
docker compose up -d   # 重新创建并启动容器

# 进入容器内部执行命令(用于调试)
docker compose exec [服务名] /bin/bash

5.2 常见问题与解决方案速查表

问题现象 可能原因 排查步骤与解决方案
浏览器无法访问 IP:端口 1. 服务器安全组/防火墙未放行端口。
2. 容器启动失败。
3. 端口映射错误。
1. 检查腾讯云控制台 :轻量服务器“防火墙”选项卡,添加入站规则,允许TCP协议对应端口(如3000)。
2. 检查容器状态 docker compose ps ,看状态是否为 running 。如果不是,用 docker compose logs 查日志。
3. 检查映射 :确认 docker-compose.yml ports 配置的宿主机端口是否正确,且未被其他进程占用( sudo netstat -tlnp | grep :端口号 )。
容器启动后立刻退出 (Exited) 1. 环境变量配置错误。
2. 依赖服务(如数据库)连接失败。
3. 启动脚本或权限问题。
1. 查看退出日志 docker compose logs [服务名] ,重点看最后几行错误信息。
2. 检查环境变量 :特别是API Key、数据库URL等格式是否正确,有无拼写错误。
3. 检查依赖 :确认数据库等依赖容器是否先于应用容器健康启动。
OpenClaw UI能打开,但创建Agent或对话时报错(如连接模型失败) 1. 模型配置(BASE_URL, MODEL)错误。
2. API Key无效或余额不足。
3. 网络不通(针对本地Ollama)。
1. 核对配置 :在UI的设置页面或 docker-compose.yml 中,确认 OPENCLAW_BASE_URL OPENCLAW_MODEL 完全正确。
2. 测试模型连接 :对于API,用curl测试;对于Ollama,在服务器上运行 ollama list ollama run qwen2.5:7b 看是否正常。
3. 检查容器网络 :如果使用Ollama,确保按4.2节正确配置了网络连接。
服务器磁盘空间不足 1. Docker镜像、容器日志占用过多。
2. 拉取的本地模型文件过大。
1. 清理Docker docker system prune -a (谨慎,会删除所有未使用的镜像、容器、网络,确认后再执行)。
2. 清理日志 sudo find /var/lib/docker/containers/ -name \"\*.log\" -size +100M 查找大日志文件。
3. 管理Ollama模型 ollama list 查看, ollama rm 模型名 删除不用的模型。
访问速度慢 1. 服务器地域离用户远。
2. 本地模型推理速度慢。
3. 服务器配置过低。
1. 更换地域 :下次购买时选择更近的地域。
2. 模型量化 :使用Ollama时,拉取量化版本(如 qwen2.5:7b-q4_K_M ),能显著提升推理速度并降低内存占用。
3. 升级配置 :考虑升级CPU和内存。

5.3 数据备份与迁移

你的智能体配置、工作流数据都保存在数据库中(默认是SQLite文件)。定期备份至关重要。

# 假设你的数据卷映射在 ./data 目录
cd ~/openclaw-deploy
# 创建一个备份压缩包,带上日期
tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz data/

# 你可以将这个压缩包下载到本地,或者上传到云存储。
# 恢复时,只需停止服务,解压备份文件覆盖当前data目录,再启动服务即可。

最后一点个人体会 :私有化部署OpenClaw最大的价值在于“可控”。你可以随心所欲地连接任何模型,定制任何工具链,而不受公有云平台的规则限制。初期部署可能会遇到一些小麻烦,但一旦打通,后面就是一马平川。建议在一切稳定后,为你的服务器设置自动安全更新,并考虑使用Nginx反代、配置HTTPS证书,让服务更专业、更安全。腾讯云轻量服务器本身也提供了监控和告警功能,可以关注一下CPU、内存和磁盘的使用情况,做到心中有数。

更多推荐