你有没有遇到过这样的尴尬:正想让OpenClaw干点活,发现它挂了?或者一关终端,它就跟着“死”了?
想让这只龙虾变成7x24小时在线的数字员工,光靠“开着命令行”可不行。
今天这篇,我们就来解决这个问题:让OpenClaw像真正的服务器一样,后台运行、开机自启、崩溃自动重启。
一、为什么需要稳定运行?
想象一下,如果你的OpenClaw部署在服务器上,你希望它:
- 你不在电脑前时,它也能在群里响应同事。
- 半夜你想让它干活,它不会因为你的电脑关机而休息。
- 万一程序崩溃,它能自己爬起来继续工作。
这就是我们今天的目标。
二、不同场景的稳定方案
根据你的运行环境,选择最适合的方案:
运行环境 | 推荐方案 | 难度 |
自己的电脑(Windows/Mac/Linux) | 后台进程 + 开机自启 | ⭐⭐ |
云服务器(Linux) | Systemd 服务 | ⭐⭐ |
容器化部署(Docker) | Docker + restart策略 | ⭐⭐⭐ |
追求极致稳定 | Docker Compose + 监控 | ⭐⭐⭐⭐ |
我们重点讲最常用的前两种。
三、方案一:自己的电脑(Windows/Mac/Linux)
对于 Windows 用户
方法1:用 PM2(推荐)
PM2 是一个进程管理工具,能让Node.js应用后台运行。
安装 PM2:
- bashnpm install -g pm2
启动 OpenClaw:
- bashpm2 start openclaw --name "openclaw" -- gateway start
设置开机自启:
- bash
pm2 save
pm2 startup按提示运行那条命令即可。
方法2:用 Windows 任务计划程序
- 创建一个任务,触发器选“启动时”,操作选启动
openclaw gateway start,并勾选“不管用户是否登录都要运行”。
对于 Mac / Linux 用户
方法:用 PM2(同上)
Mac和Linux用户用PM2体验更好。
bash
npm install -g pm2
pm2 start openclaw --name "openclaw" -- gateway start
pm2 save
pm2 startup如果你想用系统自带的服务管理器,可以看下面的Systemd方案。
四、方案二:云服务器上的Systemd服务(最稳定)
如果你的OpenClaw部署在Linux服务器上(比如阿里云、腾讯云的轻量应用服务器),用Systemd管理是最标准、最稳定的方式。
步骤:
- 确认你的OpenClaw安装在哪个目录。假设全局安装后,命令在
/usr/local/bin/openclaw。
创建服务文件:
- sudo nano /etc/systemd/system/openclaw.service
填入以下内容(根据你的实际路径调整):
- ini
[Unit]
Description=OpenClaw Gateway
After=network.target
[Service]
ExecStart=/usr/local/bin/openclaw gateway start
Restart=always
RestartSec=10
User=你的用户名
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
[Install]
WantedBy=multi-user.target重载systemd,启动服务:
- bash
sudo systemctl daemon-reload
sudo systemctl start openclaw
sudo systemctl enable openclaw # 开机自启查看状态:
- bashsudo systemctl status openclaw
如果看到active (running),恭喜你,它已经变成系统服务了。
常用命令:
- 停止:
sudo systemctl stop openclaw - 重启:
sudo systemctl restart openclaw - 查看日志:
sudo journalctl -u openclaw -f
五、方案三:Docker部署(适用于进阶玩家)
如果你喜欢用Docker,可以这样部署:
yaml
# docker-compose.yml
version: '3'
services:
openclaw:
image: openclaw/openclaw:latest
container_name: openclaw
restart: always
ports:
- "18789:18789"
volumes:
- ./config:/app/config
- ./data:/app/data
environment:
- OPENCLAW_API_KEY=你的key运行 docker-compose up -d 即可。
Docker的restart: always能保证容器挂了自动重启。
六、让OpenClaw更稳定的几个小技巧
- 定期更新:
npm update -g openclaw保持最新版本。 - 监控内存:如果内存占用过高,可以设置自动重启。Systemd里可以加
MemoryMax=2G限制内存。 - 配置自动备份:定期备份
~/.openclaw目录,防止配置丢失。 - 设置健康检查:可以用脚本定时请求
http://127.0.0.1:18789/health,如果失败就重启服务。
七、常见问题
Q:PM2 启动后,访问不了 Web 界面?A:检查防火墙是否开放了18789端口。如果是云服务器,需要在安全组里放行。
Q:Systemd 启动失败,提示“openclaw: command not found”?A:ExecStart里写的路径不对,用which openclaw查一下实际路径。
Q:开机自启后,API Key没生效?A:环境变量可能没传递。在Systemd服务里加上Environment="OPENCLAW_API_KEY=你的key"。
结语
现在,你的OpenClaw已经具备了“员工素质”——7x24小时在线,随叫随到,从不请假。
有了稳定的运行环境,你才能真正放心地把它接入工作流,让它替你干更多的活。
下一期,我们专门为程序员朋友准备了一期:OpenClaw如何帮你写代码、查文档、跑脚本,让龙虾成为你的编程副驾驶。
你的OpenClaw是怎么部署的?稳定运行后有遇到什么坑吗?评论区聊聊。
夜雨聆风