本地跑OpenClaw最大的问题是不稳定——电脑关机就断,IP不固定,没法远程控制。换到VPS之后这些问题都解决了:独立公网IP、24小时在线、随时可以从手机或任何设备连进去操作。成本也不高,入门配置每个月三到五美元,跑个人项目完全够用。
配置怎么选
配置不需要盲目追高,按实际用途选就行:
| 使用场景 | 推荐配置 |
|---|---|
| 个人使用 | 2核 / 2GB内存 / NVMe SSD |
| 小团队 | 2核 / 4GB内存 |
| 高并发 | 4核 / 8GB内存 |
1核1GB的入门配置跑OpenClaw会比较吃力,特别是开了浏览器自动化之后内存很快就不够了。2核2GB是比较稳的起点。
操作系统选Ubuntu 22.04 LTS,长期支持版本,软件兼容性好,遇到问题能找到教程。
Docker部署:最省事的方式
推荐用Docker跑OpenClaw,环境隔离,不会跟系统其他软件冲突,迁移也方便。
先装Docker:
sudo apt update && sudo apt install -y docker.io docker-compose
sudo systemctl enable docker && sudo systemctl start docker
sudo usermod -aG docker $USER
newgrp docker
拉取并启动OpenClaw:
docker run -d \
--name openclaw \
-p 8080:8080 \
--restart always \
-v ~/.openclaw:/app/data \
openclaw/openclaw:latest
--restart always 确保服务器重启后容器自动启动,不用手动干预。-v ~/.openclaw:/app/data 把数据挂载到本地,容器删了数据不会丢。
确认运行状态:
docker ps
docker logs -f openclaw
安全加固:部署完第一件事
OpenClaw跑起来之后,安全配置要马上做,不要等。公网暴露的服务会在很短时间内被扫描器发现。
配置UFW防火墙,只开放必要端口:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw deny 8080 # 通过Nginx代理访问,不直接暴露
sudo ufw enable
配置Nginx反向代理加认证:
sudo apt install nginx apache2-utils -y
sudo htpasswd -c /etc/nginx/.htpasswd 你的用户名
Nginx配置:
server {
listen 80;
server_name 你的域名或IP;
location / {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
上HTTPS:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d 你的域名
安装Fail2ban防暴力破解:
sudo apt install fail2ban -y
sudo systemctl enable fail2ban && sudo systemctl start fail2ban
创建规则文件:
sudo nano /etc/fail2ban/jail.local
写入:
[sshd]
enabled = true
maxretry = 5
bantime = 3600
findtime = 600
[nginx-http-auth]
enabled = true
port = http,https
logpath = /var/log/nginx/error.log
maxretry = 5
bantime = 3600
重启:
sudo systemctl restart fail2ban
性能优化:响应慢先查这几个地方
如果OpenClaw响应慢或者任务执行有延迟,先看资源占用:
htop
CPU或内存长期在90%以上,要么升级配置,要么看看有没有可以关掉的无用服务。
开启BBR网络加速,改善TCP传输效率,对跨境连接帮助明显:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
验证BBR是否生效:
sysctl net.ipv4.tcp_congestion_control
# 应该输出:net.ipv4.tcp_congestion_control = bbr
节点位置对延迟影响很大。面向国内用户优先选香港、新加坡、日本节点;面向欧美用户就近选,不要为了便宜选错区域。
自动运维:减少手动维护
长期跑着的服务,建议配几个自动化任务减少人工介入。
定时清理日志,防止磁盘被撑满:
crontab -e
添加:
0 3 * * * find /var/log -type f -name "*.log" -mtime +7 -delete
自动备份数据,每天凌晨执行:
nano ~/backup.sh
写入:
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
tar -czf ~/backups/openclaw_$DATE.tar.gz ~/.openclaw
find ~/backups -mtime +7 -delete
echo "Backup done: $DATE"
加权限并设置定时任务:
chmod +x ~/backup.sh
crontab -e
# 添加:
0 2 * * * ~/backup.sh >> ~/backup.log 2>&1
监控:出问题第一时间知道
推荐装Uptime Kuma,监控服务在线状态,掉线自动发通知:
docker run -d \
--name uptime-kuma \
--restart always \
-p 3001:3001 \
-v uptime-kuma:/app/data \
louislam/uptime-kuma:latest
访问 http://你的IP:3001 配置监控项,可以设置Telegram或邮件告警。
查看实时资源使用情况:
docker stats openclaw
常见坑
配置选1核1GB:内存不够,OpenClaw跑浏览器自动化会崩。起步至少2核2GB。这里推荐Vultr
部署完不做安全配置:没有认证的服务会被扫描器发现并收录,资源可能被滥用。
不做备份:VPS偶尔有维护重启,数据没挂载到本地或者没备份,容器重建就全没了。
选便宜但不稳定的服务商:超售严重的低价VPS晚高峰性能下滑明显,长期跑服务会很痛苦。
总结
按这个流程走下来:Docker部署、防火墙加认证、HTTPS、Fail2ban、BBR加速、自动备份、监控告警。一个能稳定长期运行的OpenClaw环境基本就成型了。每个环节单独看都不复杂,组合在一起就是一套可靠的运行基础。