教程

OpenClaw Linux 服务器完全部署指南:Ubuntu/Debian 安装与生产配置

OpenClaw 在 Linux 服务器(Ubuntu/Debian)上的完整部署教程:Node.js 环境配置、npm 全局安装方式、openclaw.json 服务器端配置要点(无 GUI 模式/Telegram Bot/API Provider)、systemd 服务自动管理(开机自启/崩溃重启/日志)、Nginx 反向代理配置(SSL/HTTPS/WebSocket 支持)、UFW 防火墙规则、多 Bot Token 配置实现团队共享,以及 VPS 上运行 OpenClaw 的完整最佳实践。

2026/3/204分钟 阅读ClaudeEagle

把 OpenClaw 部署到 Linux 服务器,让 AI 助手 24 小时在线, 随时通过 Telegram 从任何设备访问。

环境准备

bash
# 适用系统:Ubuntu 22.04 LTS / 24.04 LTS / Debian 12
# 最低配置:1 核 1GB RAM(推荐 2 核 2GB)

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装 Node.js 20+ (via NodeSource)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

# 验证版本
node -v   # v20.x.x
npm -v    # 10.x.x

安装 OpenClaw

bash
# 全局安装
sudo npm install -g openclaw

# 验证安装
openclaw --version
openclaw status

基础配置

bash
# 创建配置目录(以运行用户身份)
mkdir -p ~/.openclaw
cat > ~/.openclaw/openclaw.json << 'EOF'
{
  "providers": [
    {
      "name": "anthropic",
      "apiKey": "sk-ant-xxxxxxx",
      "models": ["claude-sonnet-4-6", "claude-haiku-4-5"]
    }
  ],
  "defaultProvider": "anthropic",
  "defaultModel": "claude-sonnet-4-6",
  "channels": {
    "telegram": {
      "botToken": "1234567890:AAxxxxxxxxxxxxxxxxxxxxxx",
      "allowedUsers": [123456789]
    }
  },
  "gateway": {
    "port": 3000,
    "host": "127.0.0.1"
  }
}
EOF

systemd 服务配置(生产必备)

bash
# 创建专用系统用户(推荐,避免 root 运行)
sudo useradd -r -s /bin/false -m -d /opt/openclaw openclaw

# 将配置迁移到专用用户目录
sudo mkdir -p /opt/openclaw/.openclaw
sudo cp ~/.openclaw/openclaw.json /opt/openclaw/.openclaw/
sudo chown -R openclaw:openclaw /opt/openclaw

# 创建 systemd service 文件
sudo tee /etc/systemd/system/openclaw.service << 'EOF'
[Unit]
Description=OpenClaw AI Gateway
Documentation=https://docs.openclaw.ai
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=openclaw
Group=openclaw
WorkingDirectory=/opt/openclaw
ExecStart=/usr/bin/openclaw gateway start --foreground
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
SyslogIdentifier=openclaw

# 环境变量
Environment="NODE_ENV=production"
Environment="HOME=/opt/openclaw"

# 安全限制
NoNewPrivileges=yes
PrivateTmp=yes

[Install]
WantedBy=multi-user.target
EOF

# 启用并启动
sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw

# 查看状态和日志
sudo systemctl status openclaw
sudo journalctl -u openclaw -f  # 实时日志

Nginx 反向代理(HTTPS)

bash
sudo apt install -y nginx certbot python3-certbot-nginx

# 创建 Nginx 配置
sudo tee /etc/nginx/sites-available/openclaw << 'EOF'
server {
    listen 80;
    server_name your-domain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name your-domain.com;

    ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

    # WebSocket 支持(OpenClaw 需要)
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;
    }
}
EOF

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 --non-interactive   --agree-tos --email admin@your-domain.com

防火墙配置

bash
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh          # 22
sudo ufw allow 80/tcp       # HTTP(用于证书验证和跳转)
sudo ufw allow 443/tcp      # HTTPS
sudo ufw enable
sudo ufw status

日常运维命令

bash
# 查看实时日志
sudo journalctl -u openclaw -f

# 重启服务
sudo systemctl restart openclaw

# 更新 OpenClaw
sudo npm install -g openclaw@latest
sudo systemctl restart openclaw

# 查看资源占用
sudo systemctl status openclaw
top -p $(pgrep -f openclaw)

# 修改配置后重启
sudo nano /opt/openclaw/.openclaw/openclaw.json
sudo systemctl restart openclaw

多 Bot 配置(团队共享)

json
{
  "channels": {
    "telegram": [
      {
        "name": "personal",
        "botToken": "BOT_TOKEN_1",
        "allowedUsers": [123456789]
      },
      {
        "name": "team",
        "botToken": "BOT_TOKEN_2",
        "allowedUsers": [123456789, 987654321, 111222333]
      }
    ]
  }
}

健康检查脚本

bash
# /opt/openclaw/healthcheck.sh
#!/bin/bash
HEALTH=$(curl -sf http://127.0.0.1:3000/health | python3 -c "
import json,sys
d=json.load(sys.stdin)
print(d.get('status','unknown'))
" 2>/dev/null)

if [ "$HEALTH" != "ok" ]; then
    echo "OpenClaw 健康检查失败,重启服务..."
    sudo systemctl restart openclaw
fi
bash
# 加入 cron 每 5 分钟检查一次
*/5 * * * * /opt/openclaw/healthcheck.sh >> /var/log/openclaw-health.log 2>&1

来源:OpenClaw 官方文档 - docs.openclaw.ai/platforms/linux

相关文章推荐

教程OpenClaw VPS 部署完全指南:服务商选择、一键安装与生产配置OpenClaw VPS 部署详细教程:主流云服务商对比(Hetzner/DigitalOcean/Oracle/Fly.io/Railway/GCP/AWS)、免费层方案、服务器规格选购建议、一键安装脚本流程、systemd 服务配置与开机自启、小型 VPS 性能优化技巧(NODE_COMPILE_CACHE)、VPS 数据备份策略,以及 Gateway + 云端节点架构说明。2026/3/17教程Claude Code Linux 安装完整指南:Ubuntu/Debian/CentOS/Arch 全平台覆盖Claude Code 在 Linux 各发行版的完整安装教程:Ubuntu 22.04/24.04、Debian、CentOS/RHEL、Arch Linux 安装步骤,Node.js 版本要求,权限配置,WSL2 特殊处理,无 GUI 服务器部署,以及 Linux 下常见安装报错解决方案。2026/3/16教程OpenClaw Standing Orders 完全指南:让 AI 记住你的长期规则和行为偏好OpenClaw Standing Orders(常驻指令)功能完整教程:Standing Orders 与 SOUL.md 的区别(动态运行时规则 vs 静态人格文件)、通过对话动态添加/查看/删除常驻指令、指令的持久化存储与跨会话生效机制、适合写入 Standing Orders 的内容类型(格式偏好/禁止行为/固定工作流)、与 Hooks 的协同使用、按渠道/Agent 设置不同的 Standing Orders,以及常驻指令的最佳实践(写清晰的规则、避免矛盾冲突、定期清理过时规则)。2026/3/26教程OpenClaw 多媒体处理完全指南:图片识别、音频转写与视频理解实战OpenClaw 多媒体处理(Media)完整教程:发送图片给 AI 进行视觉分析(OCR/物体识别/图表解读/代码截图)、音频消息自动转写为文字(Whisper/系统STT)、视频消息关键帧提取与理解、Node 摄像头实时拍照触发分析、媒体消息的渠道支持差异(各渠道的图片/音频/视频支持情况对比)、大文件处理策略(分割/压缩/超时设置)、媒体消息在不同 AI 模型上的能力对比(Claude Vision/GPT-4V/Gemini Pro Vision),以及本地媒体文件分析(read 工具读取图片路径)。2026/3/25教程OpenClaw TUI 完全指南:纯键盘操作的终端管理界面使用详解OpenClaw TUI(Terminal User Interface,终端用户界面)完整使用指南:TUI 与 Control UI(浏览器)的定位对比、适合 TUI 的场景(SSH 远程/无浏览器服务器/低带宽环境)、启动命令(openclaw tui)及参数、界面布局(Agents 面板/Sessions 面板/Channels 状态/Logs 实时流)、全键盘快捷键手册(导航/选择/搜索/刷新/退出)、在 TUI 中发送测试消息、实时日志过滤与搜索,以及 TUI 与 tmux/screen 配合使用的后台运行方案。2026/3/25教程OpenClaw Control UI 与 Dashboard 完全指南:浏览器管理 AI 助手的全功能界面OpenClaw Control UI(控制面板)与 Dashboard(仪表盘)完整使用指南:Control UI 的功能布局(Agents 管理/Tools 工具面板/Sessions 会话查看/Channel 渠道状态)、浏览器访问方式(本地 localhost:18789 vs 远程 SSH 隧道)、在 Control UI 中实时修改 Agent 配置(SOUL.md 编辑/模型切换/工具开关)、Dashboard 数据概览(Token 用量/渠道在线状态/会话列表/Node 节点健康)、从 Dashboard 发起诊断(doctor 命令)、以及 TUI(终端界面)的使用场景与快捷键。2026/3/24