如果依赖数据库(如MySQL/Redis)可添加

openclaw openclaw中文博客 2

服务器版(推荐方式 - 使用 Systemd)

这是最规范、最可靠的方法,适用于将OpenClaw作为长期运行的后台服务。

如果依赖数据库(如MySQL/Redis)可添加-第1张图片-OpenClaw 中文版 - 真正能做事的 AI

创建 Systemd 服务文件

使用文本编辑器(如 nanovim)创建一个新的服务文件:

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 文件的环境:

  1. 创建桌面启动文件:

    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
    # ... 其他配置

快速检查和故障排查

  1. 查看进程是否运行

    ps aux | grep openclaw
    # 或
    systemctl status openclaw
  2. 检查端口监听

    netstat -tlnp | grep :端口号
  3. 查看启动错误

    sudo journalctl -u openclaw -n 50 --no-pager
  4. 测试手动启动

    cd /安装路径
    ./start.sh  # 或 python main.py

注意事项

  1. 路径正确性:确保所有文件路径、命令路径都是绝对路径。
  2. 环境变量:如果程序需要特定环境变量,可以在 [Service] 部分添加:
    Environment="PATH=/custom/path:$PATH"
    Environment="API_KEY=your_key"
  3. 依赖服务:如果依赖数据库等,使用 After= 确保启动顺序。
  4. 权限问题:确保服务运行用户有必要的文件和目录权限。

选择最适合您部署场景的方法,对于生产服务器,强烈推荐使用 Systemd 方式,它提供了最完善的服务管理功能。

抱歉,评论功能暂时关闭!