OpenClaw Linux 服务器安装部署教程

OpenClaw Linux 服务器安装部署教程Linux 是运行 OpenClaw 最常见也最推荐的平台 绝大多数云服务器默认运行 Linux 系统 生产环境部署几乎都选择 Linux 相比 macOS 或 Windows 服务器生态成熟 所有主流云厂商 阿里云 腾讯云 AWS Hetzner 都提供 Linux 服务器 价格低 选择多 Docker 原生支持 Docker 本身就是为 Linux 设计的 在 Linux

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



Linux 是运行 OpenClaw 最常见也最推荐的平台。绝大多数云服务器默认运行 Linux 系统,生产环境部署几乎都选择 Linux。相比 macOS 或 Windows:

  • 服务器生态成熟 — 所有主流云厂商(阿里云、腾讯云、AWS、Hetzner)都提供 Linux 服务器,价格低、选择多。
  • Docker 原生支持 — Docker 本身就是为 Linux 设计的,在 Linux 上运行效率最高、兼容性最好,不需要虚拟机层。
  • 7x24 小时运行 — 服务器持续在线,AI 智能体随时可用。不像本地电脑关机就停。
  • 公网 IP — 云服务器自带公网 IP,Telegram 和 Discord Webhook 回调直接可用,无需内网穿透。

如果只使用 Web UI 聊天(无 Telegram/Discord),不需要公网 IP。但大多数用户都会接入聊天平台,因此公网 IP 是实际部署中的必备条件。

Ubuntu 和 Debian 是部署 OpenClaw 最受欢迎的 Linux 发行版。社区资源丰富,教程和文档最多,Docker 安装最简单。以下是完整的安装步骤:

sudo apt update && sudo apt upgrade -y

更新系统包列表并升级已安装的包。保持系统最新可以避免安全漏洞和兼容性问题。

sudo apt install -y docker.io docker-compose-plugin sudo systemctl enable –now docker docker –version

docker.io 是 Ubuntu/Debian 官方仓库中的 Docker 包,docker-compose-plugin 提供 docker compose 命令。enable –now 同时启用开机自启和立即启动。

sudo usermod -aG docker $USER

重新登录终端使 docker 组生效(或执行 newgrp docker)

docker ps # 验证无需 sudo 即可运行

将当前用户加入 docker 组,避免每次运行 Docker 命令都需要 sudo

docker pull ghcr.io/openclaw/openclaw:latest

镜像托管在 GitHub Container Registry(ghcr.io),大小约 500MB。:latest 标签指向最新稳定版。不要使用 :main 标签(开发分支,可能有 Bug)。

mkdir -p ~/.openclaw/credentials chmod 777 ~/.openclaw chmod 777 ~/.openclaw/credentials

credentials 目录用于 Telegram dmPolicy: "pairing" 模式存储配对凭证。如果该目录不存在,Telegram 插件会静默丢弃所有消息。权限设为 777 是因为容器内以 node 用户(uid 1000)运行,宿主机用户 uid 可能不同。

cat > ~/.openclaw/openclaw.json << ‘EOF’ { "models": {

"providers": { "openrouter": { "apiKey": "sk-or-v1-你的OpenRouter密钥" } } 

}, "channels": {

"telegram": { "enabled": true, "botToken": "你的Telegram Bot Token", "dmPolicy": "pairing" } 

}, "plugins": {

"entries": { "telegram": { "enabled": true } } 

}, "agents": {

"defaults": { "model": { "primary": "openrouter/anthropic/claude-sonnet-4.6" } } 

}, "gateway": {

"auth": { "token": "替换为随机UUID" }, "controlUi": { "allowInsecureAuth": true } 

} } EOF

配置文件详细说明请参考 Docker 部署教程 中的"配置文件结构详解"章节。

docker run -d –name openclaw -p 18789:18789 -v ~/.openclaw:/home/node/.openclaw –memory=2g –memory-swap=3g –restart unless-stopped ghcr.io/openclaw/openclaw:latest node openclaw.mjs gateway –allow-unconfigured
# 允许 HTTPS(反向代理用) sudo ufw allow 443/tcp

允许 HTTP(Caddy 自动跳转到 HTTPS)

sudo ufw allow 80/tcp

启用防火墙(如果尚未启用)

sudo ufw enable

查看防火墙状态

sudo ufw status

不要直接暴露 18789 端口到公网 — 应通过反向代理(Caddy/Nginx)提供 HTTPS 访问。

CentOS Stream 9、Rocky Linux 9、AlmaLinux 9 以及 RHEL 9 的安装步骤基本相同。主要区别在于包管理器使用 dnf(或 yum)。

sudo dnf update -y
# 添加 Docker 官方仓库 sudo dnf install -y dnf-plugins-core sudo dnf config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker

sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

启动并设置开机自启

sudo systemctl enable –now docker

添加用户到 docker 组

sudo usermod -aG docker $USER

# 查看 SELinux 状态 getenforce

如果是 Enforcing,需要配置 Docker 与 SELinux 兼容

方案一:为挂载目录添加 SELinux 标签(推荐)

chcon -Rt svirt_sandbox_file_t ~/.openclaw

方案二:在 docker run 中使用 :Z 后缀

-v ~/.openclaw:/home/node/.openclaw:Z

方案三:临时设为 Permissive(不推荐用于生产)

sudo setenforce 0

CentOS/RHEL 默认启用 SELinux,如果不处理,Docker 容器可能无法读取挂载的配置目录。这是 CentOS 部署中最常见的问题之一。

拉取镜像、创建配置目录、编写配置文件、启动容器的步骤与 Ubuntu 完全相同(见上方)。唯一的区别是防火墙命令:

# CentOS 防火墙(firewalld)

sudo firewall-cmd –permanent –add-port=443/tcp sudo firewall-cmd –permanent –add-port=80/tcp sudo firewall-cmd –reload sudo firewall-cmd –list-ports

OpenClaw 从 ~/.openclaw/openclaw.json 读取配置。配置文件是标准 JSON 格式,包含以下主要部分:

  • models.providers — AI 模型 API 密钥(OpenRouter、OpenAI、Anthropic 等)
  • channels — 聊天渠道配置(Telegram、Discord、WhatsApp 等)
  • plugins.entries — 插件启用开关(必须同时启用渠道和插件)
  • agents.defaults — 默认 AI 模型和行为设置
  • gateway.auth — 网关认证 Token(必须是对象格式)

完整的配置文件结构、各字段详解和常见错误,请参考 Docker 部署教程 中的"配置文件结构详解"章节。

生产部署必须配置 HTTPS — Telegram Webhook 强制要求 HTTPS,浏览器 Web UI 也需要 HTTPS 才能安全使用。推荐使用 Caddy,它会自动申请和续期 Let‘s Encrypt SSL 证书。

# Ubuntu/Debian 安装 Caddy sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl -1sLf ’https://dl.cloudsmith.io/public/caddy/stable/gpg.key'; | sudo gpg –dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf ‘https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt'; | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update && sudo apt install -y caddy

CentOS/RHEL 安装 Caddy

sudo dnf install -y ’dnf-command(copr)‘ sudo dnf copr enable @caddy/caddy sudo dnf install -y caddy

编辑 Caddy 配置文件:

# /etc/caddy/Caddyfile your-domain.com {

reverse_proxy localhost:18789 

}

# 启动 Caddy sudo systemctl enable –now caddy

重载配置(修改 Caddyfile 后)

sudo systemctl reload caddy

Caddy 会自动申请 SSL 证书、自动续期、自动将 HTTP 重定向到 HTTPS。全程无需手动管理证书,是最简单的方案。

# 安装 Nginx 和 Certbot sudo apt install -y nginx certbot python3-certbot-nginx # Ubuntu/Debian

sudo dnf install -y nginx certbot python3-certbot-nginx # CentOS

Nginx 配置 /etc/nginx/sites-available/openclaw

server }

启用站点配置

sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx

申请 SSL 证书

sudo certbot –nginx -d your-domain.com

Nginx 配置相对复杂,但灵活性更高。WebSocket 连接需要额外的 UpgradeConnection 头。Certbot 负责自动续期证书。

Docker 容器设置 –restart unless-stopped 后会自动重启。但如果你想更精细地管理,可以使用 systemd 或 PM2。

# /etc/systemd/system/openclaw.service [Unit] Description=OpenClaw AI Gateway Requires=docker.service After=docker.service

[Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/docker start openclaw ExecStop=/usr/bin/docker stop openclaw TimeoutStartSec=0

[Install] WantedBy=multi-user.target

# 启用 systemd 服务 sudo systemctl daemon-reload sudo systemctl enable openclaw sudo systemctl start openclaw

查看状态

sudo systemctl status openclaw

使用 systemd 管理的好处是可以用标准的 systemctl start/stop/status 命令,并且服务器重启后自动启动。

如果你在同一台服务器上还运行其他 Node.js 应用,可以使用 PM2 统一管理:

# 安装 PM2 npm install -g pm2

用 PM2 管理 Docker 容器

pm2 start "docker start -a openclaw" –name openclaw pm2 save pm2 startup # 开机自启

选择云服务器时需要考虑:价格、网络质量(能否访问海外 AI API)、机房位置、操作系统支持。以下是针对中国用户的推荐:

运行 docker 命令时提示 permission denied

# 将用户加入 docker 组 sudo usermod -aG docker $USER

重新登录终端(或执行 newgrp docker)

验证

docker ps

如果仍然报错,检查 Docker 服务是否在运行:sudo systemctl status docker

# Ubuntu (ufw) sudo ufw status sudo ufw allow 443/tcp sudo ufw allow 80/tcp

CentOS (firewalld)

sudo firewall-cmd –list-ports sudo firewall-cmd –permanent –add-port=443/tcp sudo firewall-cmd –permanent –add-port=80/tcp sudo firewall-cmd –reload

检查端口是否在监听

ss -tlnp | grep -E ’(443|80|18789)‘

CentOS 和 RHEL 默认启用 SELinux(Security-Enhanced Linux),可能阻止 Docker 读写挂载目录:

# 检查 SELinux 是否是问题原因 sudo ausearch -m avc –start recent

为 OpenClaw 目录添加正确的 SELinux 上下文

sudo chcon -Rt svirt_sandbox_file_t ~/.openclaw

或在 docker run 中使用 :Z 标志

-v ~/.openclaw:/home/node/.openclaw:Z

症状通常是容器启动后立即退出,日志显示无法读取配置文件。

某些 Linux 系统的 DNS 配置可能导致 Docker 容器内无法解析域名(如 api.openai.com):

# 检查容器内 DNS

docker exec openclaw cat /etc/resolv.conf

如果 DNS 不正常,在 docker run 时指定 DNS

docker run -d –name openclaw –dns 8.8.8.8 –dns 1.1.1.1 -p 18789:18789 -v ~/.openclaw:/home/node/.openclaw –memory=2g –memory-swap=3g –restart unless-stopped ghcr.io/openclaw/openclaw:latest node openclaw.mjs gateway –allow-unconfigured

或全局配置 Docker DNS

编辑 /etc/docker/daemon.json

{ "dns": ["8.8.8.8", "1.1.1.1"] }

OpenClaw 容器以 node 用户(uid 1000)运行。如果宿主机用户 uid 不是 1000,容器无法写入挂载目录:

chmod 777 ~/.openclaw chmod 777 ~/.openclaw/credentials

如果 docker logs openclaw 显示 KilledOOMKilled,说明内存不足。确保服务器至少 2GB 内存,容器设置 –memory=2g –memory-swap=3g。512MB 内存必定 OOM。

如果你不想管理 Linux 服务器、不想折腾 Docker 和配置文件,OpenClaw Launch 提供完全托管的解决方案:

  • 10 秒部署 — 可视化编辑器配置,一键启动,无需任何命令行操作
  • 零运维 — 无需管理服务器、Docker、SSL 证书、防火墙、进程管理
  • 全球可用 — 服务器在美国,直连所有 AI API(OpenRouter、OpenAI、Anthropic、Google),无需代理
  • \(3/月起 — 比多数云服务器还便宜,且省去所有运维时间
  • 自动更新 — OpenClaw 新版本发布后自动升级,无需手动操作
  • 支付宝/微信 — 支持国内常用支付方式

Ubuntu 22.04 LTS 或 24.04 LTS 是最推荐的选择。原因:社区最大、教程最多、Docker 安装最简单、长期支持(5 年安全更新)。Debian 12 也很好,更轻量但社区相对小一些。CentOS/Rocky Linux 适合企业环境中已有 RHEL 系基础设施的场景。

最低 1GB 可用内存,推荐 2GB 以上。容器应设置 --memory=2g --memory-swap=3g。512MB 内存会导致 OOM 崩溃。如果服务器上还有其他服务,总内存建议 4GB。

对于 OpenClaw 而言,VPS 完全足够。OpenClaw 对 CPU 和 IO 的要求不高,2 vCPU / 2GB RAM 的 VPS 即可流畅运行。独立服务器成本更高(通常 \)50+/月),除非你同时运行多个 OpenClaw 实例或其他重型服务,否则没有必要。

可以。宝塔面板(BT Panel)提供 Docker 管理功能,可以在面板中拉取镜像、创建容器、管理端口。但你仍然需要手动编写 openclaw.json 配置文件,宝塔面板不能替代这一步。如果你习惯用宝塔管理服务器,可以:

或者直接使用 OpenClaw Launch,无需宝塔面板或任何服务器管理。

OpenClaw 本身可以在任何 Linux 服务器上运行。但如果使用海外 AI API(OpenRouter、OpenAI、Anthropic),国内大陆服务器可能无法直接访问。解决方案:选择香港/海外机房、使用国产 AI 模型(DeepSeek、通义千问)、或使用 OpenClaw Launch 托管服务。

小讯
上一篇 2026-04-25 11:03
下一篇 2026-04-25 11:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/274076.html