第34章 部署运维 —— OpenClaw 网关生产环境最佳实践
目录
OpenClaw 设计就是为了生产环境长期运行,本章汇总生产环境部署运维的最佳实践,帮你跑稳跑顺。
部署架构选择
选项 1:单机部署(推荐个人/小团队)
你的服务器 → OpenClaw Gateway 直接跑 → 反向代理 Nginx → 域名 HTTPS- 简单,一台机器搞定
- 数据都在你自己机器
- 维护方便,升级简单
适合:个人使用、小团队、不需要高可用。
选项 2:容器部署(Docker Compose)
# docker-compose.yml
version: "3"
services:
openclaw:
image: openclaw/openclaw:latest
ports:
- "18789:18789"
volumes:
- ~/.openclaw:/home/openclaw/.openclaw
restart: always- 环境一致,部署一次到处跑
- 升级就是拉新镜像重启
- 隔离性好,不污染系统
适合:熟悉 Docker 的用户,生产推荐。
选项 3:Kubernetes 集群部署(适合团队/企业)
- Deployment 跑 Gateway
- ConfigMap 存配置(密钥放 Secret)
- Service 暴露端口
- Ingress 处理 HTTPS
适合:企业已有 Kubernetes 集群,需要高可用。
系统配置建议
用户权限
不要用 root 跑!创建专用用户:
useradd -m openclaw
chown -R openclaw:openclaw ~openclaw/.openclaw
su - openclaw专用用户权限有限,就算出问题影响有限。
文件描述符
Gateway 大量并发连接,默认 fd 可能不够:
# /etc/security/limits.conf
openclaw soft nofile 65536
openclaw hard nofile 65536重启生效。
自动重启(systemd)
创建 /etc/systemd/system/openclaw.service:
[Unit]
Description=OpenClaw Gateway
After=network.target
[Service]
User=openclaw
WorkingDirectory=/home/openclaw/openclaw
ExecStart=/home/openclaw/openclaw/bin/openclaw gateway run
Restart=always
RestartSec=10
Environment=PATH=/usr/local/bin:/usr/bin:/bin
StandardOutput=journal+console
StandardError=journal+console
[Install]
WantedBy=multi-user.target启用:
systemctl daemon-reload
systemctl enable openclaw
systemctl start openclaw- 开机自动启动
- 崩溃自动重启
- 日志统一走 journald,
journalctl -u openclaw看
反向代理配置(Nginx)
推荐 Nginx 反向代理,处理 HTTPS:
server {
listen 443 ssl http2;
server_name openclaw.your-domain.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
# 安全headers
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection 1;
location / {
proxy_pass http://127.0.0.1:18789;
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 300; # 长超时,AI生成可能慢
}
}HTTP 跳 HTTPS:
server {
listen 80;
server_name openclaw.your-domain.com;
return 301 https://$server_name$request_uri;
}好处:
- HTTPS 证书自动续期(Let’s Encrypt)
- Nginx 处理连接缓冲,比 Node 直接扛稳
- 可以配置 IP 白名单限制访问
备份策略
一定要备份!配置和数据丢了很惨。
自动备份脚本
#!/bin/bash
# backup-openclaw.sh
BACKUP_DIR="/backup/openclaw"
DATE=$(date +%Y%m%d)
CONFIG="$HOME/.openclaw/openclaw.json"
WORKSPACE="$HOME/.openclaw/workspace"
mkdir -p $BACKUP_DIR
tar czf $BACKUP_DIR/openclaw-backup-$DATE.tar.gz $CONFIG $WORKSPACE
# 保留最近 30 天
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete加 cron 每天跑:
0 2 * * * /home/openclaw/backup-openclaw.sh >> /var/log/openclaw-backup.log 2>&1每天凌晨 2 点备份,保留 30 天。
备份到云端
备份完可以同步到 S3 或者其他云存储:
aws s3 cp $BACKUP_DIR/openclaw-backup-$DATE.tar.gz s3://your-backup-bucket/openclaw/本地一份云端一份,双重保险。
监控
基础监控
监控这些指标:
- CPU 使用率
- 内存使用率
- 磁盘空间
- Gateway 进程是否 running
- API 调用成功率
- 每日成本
日志轮转
OpenClaw 日志默认写到文件,配置 logrotate 轮转:
# /etc/logrotate.d/openclaw
/var/log/openclaw/output.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
create 644 openclaw openclaw
sharedscripts
postrotate
systemctl reload openclaw > /dev/null
endscript
}每月不会越滚越大,自动删老日志。
告警
配置告警:
- Gateway 进程挂了 → 告警
- 磁盘满了 → 告警
- 成本超预算 → 告警
- 连续 API 失败 → 告警
OpenClaw 支持告警发到你配置的渠道(Telegram/email)。
安全建议
生产环境安全检查清单:
- 不要用 root 跑 OpenClaw
- 配对白名单开了吗?不要允许任何用户
- HTTPS 配置了吗?不要裸 HTTP 跑公网
- 密钥放对权限了吗?
chmod 600 ~/.openclaw/openclaw.json - 防火墙限制端口了吗?只开需要的端口
- API 密钥都对吗?不要把测试密钥放生产
- 定期更新 OpenClaw 吗?更最新版本拿安全修复
升级步骤
安全升级步骤:
- 备份先! 升级前先备份配置和数据
git pull拉最新代码pnpm install装新依赖pnpm build重新构建systemctl restart openclaw重启服务- 等起来,
openclaw doctor检查健康 - 有问题切回上个版本,找问题
不要不备份直接升,出问题回不去。
性能调优
Node.js 配置
# 启动环境变量,调大内存
NODE_OPTIONS="--max-old-space-size=4096" openclaw gateway runGateway 缓存连接和会话,4GB 足够大多数场景。
磁盘IO
- 用 SSD,不要用机械硬盘,响应快很多
- 日志放不同分区,不要跟系统抢 IO
网络
- 服务器选离你近的区域,延迟低
- 如果你用中国,选香港/新加坡节点,访问 Anthropic/OpenAI 快
高可用(多人/企业)
如果需要高可用:
- 多实例部署,前面放负载均衡
- 数据存共享存储(S3/NFS)
- 配置存在数据库,多实例同步
- 一个实例挂了,负载均衡切另一个
大多数个人使用不需要,单机足够用。
故障处理流程
- 看状态:
systemctl status openclaw看看跑不跑 - 看日志:
journalctl -u openclaw -f看最近错误 - 跑 doctor:
openclaw doctor自动检查 - 配置对不对:检查密钥、端口、网络
- 重启试试:
systemctl restart openclaw - 不行回滚:回到上个版本,看是不是新版本问题
本章小结
- 推荐个人用 Docker Compose 或者 systemd 单机部署,简单够用
- 创建专用用户,不要 root 跑,安全
- 配置自动备份,一定要备份!
- Nginx 反向代理 HTTPS,安全稳定
- 监控日志轮转,告警异常
- 定期更新,升级先备份
按照这个实践,你的 OpenClaw Gateway 能稳定跑很久,不用怎么维护。
相关内容
- 第01章 OpenClaw 是什么 —— 自托管个人 AI 助手的终极形态
- 第02章 核心架构总览 —— Gateway 为什么是中心控制平面
- 第03章 Gateway —— 核心网关服务到底做了什么
- 第04章 多渠道接入 —— 如何支持 25+ 聊天平台
- 第05章 ACP —— 如何对接外部 AI 客户端
如果这篇文章对你有帮助,欢迎请我喝杯咖啡 ☕
支付宝
微信