服务器版(推荐方式 - 使用 Systemd)
这是最规范、最可靠的方法,适用于将OpenClaw作为长期运行的后台服务。

创建 Systemd 服务文件
使用文本编辑器(如 nano 或 vim)创建一个新的服务文件:
sudo nano /etc/systemd/system/openclaw.service
写入服务配置 粘贴到文件中,请根据您的实际安装路径进行修改:
[Unit] Description=OpenClaw AI Assistant Service After=network.target# After=mysql.service redis.service [Service] Type=simple # 替换为您的实际用户名和安装路径 User=your_username WorkingDirectory=/home/your_username/openclaw # 启动命令: # 如果使用Python直接运行: # ExecStart=/usr/bin/python3 main.py # 如果使用uvicorn(FastAPI常见): # ExecStart=/home/your_username/.local/bin/uvicorn app:app --host 0.0.0.0 --port 8000 # 如果使用Docker Compose: # ExecStart=/usr/local/bin/docker-compose up ExecStart=/您/的/实际/启动/命令 Restart=always RestartSec=10 StandardOutput=syslog StandardError=syslog SyslogIdentifier=openclaw [Install] WantedBy=multi-user.target
启用并启动服务
# 重载systemd配置 sudo systemctl daemon-reload # 设置开机自启 sudo systemctl enable openclaw.service # 立即启动服务 sudo systemctl start openclaw.service # 检查服务状态 sudo systemctl status openclaw.service
常用管理命令
# 查看日志 sudo journalctl -u openclaw -f # 停止服务 sudo systemctl stop openclaw # 重启服务 sudo systemctl restart openclaw # 禁用开机自启 sudo systemctl disable openclaw
桌面版(图形界面自动启动)
如果OpenClaw有图形界面,并希望在用户登录桌面后自动启动:
对于 GNOME / Ubuntu 等使用 .desktop 文件的环境:
-
创建桌面启动文件:
nano ~/.config/autostart/openclaw.desktop
[Desktop Entry] Type=Application Name=OpenClaw Comment=AI Assistant # 替换为您的实际可执行文件路径 Exec=/path/to/openclaw/start.sh # 可选:设置启动时是否显示终端 Terminal=false StartupNotify=false
对于使用 systemd 的用户级服务(无root权限):
# 创建用户级服务目录 mkdir -p ~/.config/systemd/user/ # 创建服务文件(内容同场景一,但无需sudo) nano ~/.config/systemd/user/openclaw.service # 启用并启动 systemctl --user enable openclaw systemctl --user start openclaw # 启用用户级服务持久化(重要!) sudo loginctl enable-linger $USER
使用 Docker / Docker Compose
如果通过 Docker 安装:
# 使用 --restart 策略
docker run -d --name openclaw --restart=always your-image:tag
# 或在 docker-compose.yml 中添加
services:
openclaw:
image: your-image:tag
restart: unless-stopped
# ... 其他配置
快速检查和故障排查
-
查看进程是否运行
ps aux | grep openclaw # 或 systemctl status openclaw
-
检查端口监听
netstat -tlnp | grep :端口号
-
查看启动错误
sudo journalctl -u openclaw -n 50 --no-pager
-
测试手动启动
cd /安装路径 ./start.sh # 或 python main.py
注意事项
- 路径正确性:确保所有文件路径、命令路径都是绝对路径。
- 环境变量:如果程序需要特定环境变量,可以在
[Service]部分添加:Environment="PATH=/custom/path:$PATH" Environment="API_KEY=your_key"
- 依赖服务:如果依赖数据库等,使用
After=确保启动顺序。 - 权限问题:确保服务运行用户有必要的文件和目录权限。
选择最适合您部署场景的方法,对于生产服务器,强烈推荐使用 Systemd 方式,它提供了最完善的服务管理功能。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。