第七章 生產環境部署
本章適合誰? 如果你只是個人使用,在自己電腦上運行 OpenClaw 就夠了,可以跳過本章。本章面向需要 24/7 不間斷運行的用戶——比如你想讓定時任務在你睡覺時也能執行,或者想在手機上隨時控制 OpenClaw。
到目前爲止,你可能一直在本地運行 OpenClaw。但要讓它真正成爲 24/7 待命的 AI 助手,你需要將它部署到服務器上持續運行。
什麼是服務器? 簡單說就是一臺 24 小時開機、連着網的電腦。你可以租一臺雲服務器(VPS),每月幾十元,就像租了一臺永遠在線的遠程電腦。本章介紹 VPS 選擇、Docker 部署和遠程管理的完整流程。
1. 爲什麼需要服務器部署
本地運行的限制很明顯:電腦關機就停了,網絡不穩定會斷連,而且你無法隨時隨地使用。部署到服務器後:
- 定時任務(第四章)可以 24/7 準時執行
- 移動端(第三章)可以隨時發送指令
- 多人可以共享同一個 OpenClaw 實例
- 系統資源更充足,處理速度更快
2. VPS 選擇
2.1 國內推薦
| 服務商 | 最低配置 | 月費參考 | 適合場景 |
|---|---|---|---|
| 阿里雲 ECS | 2 核 4G | ~70 元 | 飛書集成、國內服務 |
| 騰訊雲 CVM | 2 核 4G | ~65 元 | 微信生態集成 |
| 火山引擎 | 2 核 4G | ~60 元 | 字節系產品集成 |
2.2 海外推薦
| 服務商 | 最低配置 | 月費參考 | 適合場景 |
|---|---|---|---|
| Hetzner | 2 核 4G | ~$5 | 性價比最高 |
| DigitalOcean | 2 核 4G | ~$12 | Telegram 集成 |
| AWS Lightsail | 2 核 4G | ~$10 | AWS 生態集成 |
2.3 配置建議
- 最低要求:2 核 CPU、4GB 內存、40GB SSD
- 推薦配置:4 核 CPU、8GB 內存、80GB SSD
- 操作系統:Ubuntu 22.04 LTS 或 Debian 12
2.4 託管替代方案:ArkClaw
如果你不想自己購買和管理服務器,可以考慮雲廠商提供的 OpenClaw 託管服務。例如火山引擎的 ArkClaw 提供了完全託管的 OpenClaw 雲端實例,無需購買 VPS、無需配置 Docker,訂閱 Coding Plan 後即可獲得 24/7 運行的 OpenClaw 服務(Lite ¥9.90/月起,新用戶享 7 天免費試用)。
適合不想運維服務器、希望快速上線的用戶。本章後續內容面向自建部署,如果你選擇託管方案可以跳過。
3. 基礎部署
3.1 安裝 OpenClaw
Node.js 安裝和 API Key 獲取的詳細步驟請參考第一章,這裏只列出服務器部署的關鍵命令。
# SSH 連接到服務器(SSH 是遠程登錄工具,用你的終端連接到遠程服務器)
# 將 user 替換爲你的用戶名,your-server-ip 替換爲服務器 IP 地址
ssh user@your-server-ip
# 安裝 Node.js 22(詳見第一章第 2 節)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt-get install -y nodejs
# 安裝 OpenClaw
npm install -g openclaw
# 驗證安裝
openclaw --version3.2 配置 LLM API Key
使用第一章獲取的 API Key 配置服務器端(以硅基流動爲例):
在部署目錄下創建或編輯 openclaw.json,填入你的 API Key:
{
"env": {
"SILICONFLOW_API_KEY": "sk-你的密鑰"
},
"models": {
"mode": "merge",
"providers": {
"siliconflow": {
"baseUrl": "https://api.siliconflow.cn/v1",
"apiKey": "${SILICONFLOW_API_KEY}",
"api": "openai-completions",
"models": [
{ "id": "deepseek-ai/DeepSeek-V3", "name": "DeepSeek V3" }
]
}
}
},
"agents": {
"defaults": {
"model": { "primary": "siliconflow/deepseek-ai/DeepSeek-V3" }
}
}
}安全提示:生產環境建議將密鑰寫入系統環境變量,再在
openclaw.json中用${SILICONFLOW_API_KEY}引用,避免密鑰明文出現在配置文件裏。
提示:如果還沒有 API Key,請先完成第一章第 2 節的註冊步驟。
3.3 使用 systemd 保持運行
什麼是 systemd? systemd 是 Linux 系統自帶的"服務管理器",可以讓程序在後臺自動運行,並在崩潰時自動重啓。你不需要深入瞭解它,只需運行下面一條命令即可。
創建系統服務讓 OpenClaw 在後臺持續運行。OpenClaw 提供了自動生成 systemd 配置的命令:
# 自動安裝 systemd 服務(推薦)
openclaw onboard --install-daemon展開:手動配置 systemd 服務
如果需要手動配置:
sudo tee /etc/systemd/system/openclaw.service > /dev/null << 'EOF'
[Unit]
Description=OpenClaw AI Agent
After=network.target
[Service]
Type=simple
User=openclaw
WorkingDirectory=/home/openclaw
ExecStart=/usr/bin/openclaw gateway start
Restart=always
RestartSec=10
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw管理服務:
sudo systemctl status openclaw # 查看狀態
sudo systemctl restart openclaw # 重啓
journalctl -u openclaw -f # 查看實時日誌4. Docker 部署(推薦)
Docker 提供了更好的隔離性和可移植性。
4.1 使用官方安裝腳本(推薦)
OpenClaw 官方提供了 docker-setup.sh 一鍵部署腳本,這是最簡單的 Docker 部署方式:
# 克隆官方倉庫
git clone https://github.com/openclaw/openclaw.git
cd openclaw
# 使用預構建鏡像運行(推薦,省去編譯時間)
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
./docker-setup.sh腳本會自動完成以下步驟:
- 拉取或構建 Docker 鏡像
- 運行初始化配置嚮導
- 生成訪問令牌(Token)
- 啓動 Gateway 服務
完成後訪問 http://127.0.0.1:18789/ 打開控制檯,在設置中粘貼腳本輸出的 Token 即可使用。
展開:啓用沙箱模式(Docker-in-Docker)
如果你希望 AI 執行的命令在隔離環境中運行(更安全),可以啓用沙箱模式:
export OPENCLAW_SANDBOX=1
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
./docker-setup.sh什麼是沙箱? 沙箱是一種安全機制,讓 AI 執行的命令在一個獨立的容器中運行,即使出錯也不會影響你的主系統。
如果你使用 rootless Docker(非 root 用戶運行 Docker),還需要指定 socket 路徑:
export OPENCLAW_SANDBOX=1
export OPENCLAW_DOCKER_SOCKET=/run/user/1000/docker.sock
./docker-setup.sh4.2 使用官方鏡像
# 拉取鏡像
docker pull ghcr.io/openclaw/openclaw:latest
# 創建配置目錄
mkdir -p ~/openclaw-data
# 運行容器
docker run -d \
--name openclaw \
--restart always \
-v ~/openclaw-data:/home/openclaw/.openclaw \
-e LLM_API_KEY="sk-xxxxx" \
-p 18789:18789 \
ghcr.io/openclaw/openclaw:latest gateway start注意:容器內運行用戶爲 uid 1000(node)。宿主機掛載目錄需確保權限正確:
bashchown -R 1000:1000 ~/openclaw-data
### 4.3 使用 Docker Compose
> **什麼是 Docker Compose?** Docker Compose 是 Docker 的"編排工具",讓你用一個配置文件(`docker-compose.yml`)定義和管理容器,比手動輸入長串 `docker run` 命令更方便。
```yaml
# docker-compose.yml
services:
openclaw:
image: ghcr.io/openclaw/openclaw:latest
container_name: openclaw
restart: always
volumes:
- ./data:/home/openclaw/.openclaw
ports:
- "18789:18789"
environment:
- LLM_API_KEY=${LLM_API_KEY}
- NODE_ENV=production
command: gateway start啓動:
# 創建 .env 文件
echo "LLM_API_KEY=sk-xxxxx" > .env
# 啓動服務
docker compose up -d
# 查看日誌
docker compose logs -f4.4 更新版本
docker compose pull
docker compose up -d展開:安全加固配置
5. 安全加固
5.1 創建專用用戶
sudo useradd -m -s /bin/bash openclaw
sudo su - openclaw5.2 防火牆配置
# 只開放必要端口
sudo ufw allow ssh
sudo ufw allow 443/tcp # HTTPS(如果需要 Webhook)
sudo ufw enable5.3 API Key 安全
- 使用環境變量而非明文配置文件
- 定期輪換 API Key
- 設置 API 調用上限
5.4 日誌審計
# 查看 OpenClaw 最近日誌
openclaw logs --limit 100
# 實時監控日誌
openclaw logs --follow展開:監控與維護
6. 監控與維護
6.1 健康檢查
OpenClaw 提供內置健康檢查端點(默認端口 18789):
# 存活檢查(liveness)
curl http://localhost:18789/healthz
# 就緒檢查(readiness)
curl http://localhost:18789/readyz也可以設置一個定時任務讓 OpenClaw 自我檢查:
每小時檢查一次自身狀態,如果發現異常就發送告警到 Telegram6.2 自動備份
# 備份配置和記憶
tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz ~/openclaw-data/
# 設置定時備份(每天凌晨 3 點)
echo '0 3 * * * tar -czf /backups/openclaw-$(date +\%Y\%m\%d).tar.gz ~/openclaw-data/' | crontab -6.3 磁盤管理
OpenClaw 的對話歷史和日誌會隨時間增長。定期清理:
# 清理 30 天前的對話歷史
openclaw cleanup --older-than 30d
# 查看磁盤使用
du -sh ~/openclaw-data/*7. 常見問題
服務啓動失敗:檢查 Node.js 版本(需要 22+)、API Key 是否正確、端口是否被佔用。
內存不足:OpenClaw 運行時通常佔用 500MB-1GB 內存。如果服務器內存緊張,考慮升級配置或使用 swap。
網絡超時:如果使用海外 API 提供商,國內服務器可能需要代理。可以配置 HTTP_PROXY 環境變量。推薦使用硅基流動等國內提供商避免此問題。
Docker 容器自動重啓:檢查 docker logs openclaw 查看崩潰原因,通常是 API Key 過期或配置文件格式錯誤。
下一步:第八章 多模型與成本優化