環(huán)境的完整指南)
1. 引言O(shè)penClaw 是一個(gè)開(kāi)源的 AI 代理框架允許開(kāi)發(fā)者構(gòu)建、部署和管理自主 AI 代理。將 OpenClaw 部署到 VPS虛擬專用服務(wù)器上可以獲得穩(wěn)定的運(yùn)行環(huán)境、公網(wǎng)訪問(wèn)能力和 7×24 小時(shí)持續(xù)運(yùn)行的優(yōu)勢(shì)。本文將從服務(wù)器選型、環(huán)境配置、部署流程到生產(chǎn)環(huán)境優(yōu)化完整演示如何在 VPS 上托管 OpenClaw。2. 服務(wù)器選型與準(zhǔn)備工作在開(kāi)始部署之前需要選擇合適的 VPS 并完成基礎(chǔ)環(huán)境配置。以下是推薦的服務(wù)器配置要求配置項(xiàng)最低要求推薦配置CPU1 核2 核及以上內(nèi)存1 GB4 GB 及以上磁盤(pán)20 GB SSD40 GB SSD帶寬1 Mbps5 Mbps 及以上操作系統(tǒng)Ubuntu 20.04Ubuntu 22.04 LTS完成服務(wù)器購(gòu)買(mǎi)后首先通過(guò) SSH 登錄服務(wù)器并更新系統(tǒng)軟件包ssh rootyour_server_ip 更新系統(tǒng)軟件包 apt update apt upgrade -y 安裝基礎(chǔ)工具 apt install -y curl wget git build-essential ufw3. 安裝 Docker 與 Docker ComposeOpenClaw 官方推薦使用 Docker 進(jìn)行部署這樣可以避免環(huán)境依賴問(wèn)題并簡(jiǎn)化升級(jí)流程。以下是安裝 Docker 和 Docker Compose 的完整步驟# 安裝 Docker curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh 驗(yàn)證 Docker 安裝 docker --version 安裝 Docker Compose 插件 apt install -y docker-compose-plugin 驗(yàn)證 Docker Compose docker compose version 將當(dāng)前用戶加入 docker 組避免每次使用 sudo usermod -aG docker $USER newgrp docker4. 獲取 OpenClaw 并配置環(huán)境變量OpenClaw 的部署需要準(zhǔn)備 API 密鑰和基礎(chǔ)配置文件。首先創(chuàng)建項(xiàng)目目錄并克隆配置模板# 創(chuàng)建項(xiàng)目目錄 mkdir -p /opt/openclaw cd /opt/openclaw 下載官方 docker-compose 模板 curl -O https://raw.githubusercontent.com/openclaw/openclaw/main/docker-compose.yml 創(chuàng)建環(huán)境變量文件 nano .env在.env文件中配置以下關(guān)鍵環(huán)境變量# OpenClaw 核心配置 OPENCLAW_API_KEYyour_secure_api_key_here OPENCLAW_PORT8080 OPENCLAW_LOG_LEVELinfo LLM 提供商配置以 OpenAI 為例 OPENAI_API_KEYsk-your_openai_api_key OPENAI_MODELgpt-4o 數(shù)據(jù)庫(kù)配置 POSTGRES_DBopenclaw POSTGRES_USERopenclaw POSTGRES_PASSWORDyour_db_password 時(shí)區(qū)設(shè)置 TZAsia/Shanghai5. 使用 Docker Compose 啟動(dòng)服務(wù)環(huán)境變量配置完成后即可啟動(dòng) OpenClaw 服務(wù)。以下命令將拉取鏡像并啟動(dòng)所有依賴服務(wù)# 拉取鏡像并啟動(dòng)服務(wù) docker compose up -d 查看服務(wù)運(yùn)行狀態(tài) docker compose ps 查看實(shí)時(shí)日志 docker compose logs -f openclaw服務(wù)啟動(dòng)后可以通過(guò)以下命令驗(yàn)證 OpenClaw 是否正常運(yùn)行# 檢查健康檢查接口 curl http://localhost:8080/health 預(yù)期輸出示例 {status:ok,version:1.2.3,uptime:42}6. 配置 Nginx 反向代理與 HTTPS為了提供安全的公網(wǎng)訪問(wèn)需要配置 Nginx 反向代理和 SSL 證書(shū)。首先安裝 Nginx 和 Certbotapt install -y nginx certbot python3-certbot-nginx創(chuàng)建 Nginx 站點(diǎn)配置文件nano /etc/nginx/sites-available/openclaw寫(xiě)入以下反向代理配置server { listen 80; server_name openclaw.example.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } }啟用站點(diǎn)配置并申請(qǐng) SSL 證書(shū)# 啟用站點(diǎn) ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/ nginx -t systemctl reload nginx 申請(qǐng) SSL 證書(shū) certbot --nginx -d openclaw.example.com7. 配置防火墻與安全加固安全是生產(chǎn)環(huán)境部署的關(guān)鍵環(huán)節(jié)。配置 UFW 防火墻并限制不必要的端口訪問(wèn)# 配置 UFW 防火墻 ufw default deny incoming ufw default allow outgoing ufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw enable 查看防火墻狀態(tài) ufw status verbose同時(shí)建議配置 Fail2ban 防止暴力破解 SSH 登錄apt install -y fail2ban systemctl enable fail2ban systemctl start fail2ban8. 編寫(xiě)自動(dòng)化部署腳本為了簡(jiǎn)化后續(xù)的部署和升級(jí)流程可以編寫(xiě)一個(gè)自動(dòng)化部署腳本。創(chuàng)建deploy.sh#!/bin/bash set -e echo OpenClaw 部署腳本 進(jìn)入項(xiàng)目目錄 cd /opt/openclaw 拉取最新代碼和鏡像 git pull origin main || true docker compose pull 備份當(dāng)前數(shù)據(jù)庫(kù) docker compose exec -T postgres pg_dump -U openclaw openclaw backup_$(date %Y%m%d_%H%M%S).sql 重啟服務(wù) docker compose up -d --remove-orphans 健康檢查 sleep 10 if curl -sf http://localhost:8080/health /dev/null; then echo ? OpenClaw 部署成功 else echo ? 健康檢查失敗請(qǐng)查看日志 docker compose logs --tail50 openclaw exit 1 fi賦予腳本執(zhí)行權(quán)限并運(yùn)行chmod x deploy.sh ./deploy.sh9. 配置日志輪轉(zhuǎn)與監(jiān)控告警生產(chǎn)環(huán)境需要完善的日志管理和監(jiān)控機(jī)制。配置 Docker 日志輪轉(zhuǎn)# 創(chuàng)建 Docker daemon 配置 nano /etc/docker/daemon.json{ log-driver: json-file, log-opts: { max-size: 10m, max-file: 3 } }重啟 Docker 使配置生效并設(shè)置系統(tǒng)監(jiān)控systemctl restart docker 安裝監(jiān)控工具 apt install -y htop netdata systemctl enable netdata systemctl start netdata10. 常見(jiàn)問(wèn)題排查在部署過(guò)程中可能會(huì)遇到一些常見(jiàn)問(wèn)題以下是典型的排查方法10.1 容器無(wú)法啟動(dòng)# 查看容器日志 docker compose logs openclaw 檢查環(huán)境變量是否完整 docker compose config10.2 端口被占用# 查看端口占用情況 ss -tlnp | grep 8080 釋放端口或修改 .env 中的端口配置10.3 數(shù)據(jù)庫(kù)連接失敗# 檢查數(shù)據(jù)庫(kù)容器狀態(tài) docker compose ps postgres 查看數(shù)據(jù)庫(kù)日志 docker compose logs postgres11. 總結(jié)本文完整演示了在 VPS 上托管 OpenClaw 的全流程包括服務(wù)器選型、Docker 環(huán)境搭建、服務(wù)配置、反向代理、安全加固和自動(dòng)化部署。通過(guò) Docker Compose 可以顯著簡(jiǎn)化部署和升級(jí)流程配合 Nginx 反向代理和 HTTPS 加密能夠?yàn)樯a(chǎn)環(huán)境提供穩(wěn)定、安全的 AI 代理服務(wù)。建議在實(shí)際部署中根據(jù)業(yè)務(wù)規(guī)模調(diào)整資源配置并定期備份數(shù)據(jù)庫(kù)和更新鏡像版本。