首页openclaw教程中心 › VPS 服务器部署专题教程

VPS 服务器部署专题教程

VPS 选购建议

部署 OpenClaw 的第一步是选择一台合适的 VPS 服务器。

国内云服务商

| 服务商 | 推荐配置 | 月费参考 | 特点 | |--------|----------|----------|------| | 腾讯云 | 2核4G | ¥50-100 | 国内访问快,有学生优惠 | | 阿里云 | 2核4G | ¥60-120 | 生态完善,文档丰富 | | 华为云 | 2核4G | ¥50-100 | 企业级稳定性 | 国内服务器优势: - 国内用户访问延迟低 - 支持备案,可以绑定域名 - 中文客服和文档 国内服务器劣势: - 访问国外 API(OpenAI、Anthropic)需要配置代理 - 需要备案才能使用 80/443 端口绑定域名

国外云服务商

| 服务商 | 推荐配置 | 月费参考 | 特点 | |--------|----------|----------|------| | Hetzner | CX22 (2核4G) | €4-6 | 性价比极高,欧洲机房 | | DigitalOcean | Basic 2核4G | $24 | 简单易用,全球机房 | | Vultr | Cloud 2核4G | $24 | 按小时计费,灵活 | | Linode | Shared 2核4G | $24 | Akamai 旗下,稳定 | 国外服务器优势: - 直连 OpenAI/Anthropic 等 API,无需代理 - 无需备案 - 价格通常更便宜 国外服务器劣势: - 国内访问可能有延迟 - 部分 IP 段可能被屏蔽

最低配置要求

| 资源 | 最低要求 | 推荐配置 | |------|----------|----------| | CPU | 1 核 | 2 核 | | 内存 | 1 GB | 2-4 GB | | 磁盘 | 20 GB SSD | 40 GB SSD | | 系统 | Ubuntu 22.04 LTS | Ubuntu 22.04/24.04 LTS | | Node.js | 22.14+ | 24.x(推荐) |

系统初始化

以 Ubuntu 22.04 为例,完成基础系统配置。

连接服务器

``bash ssh root@your-server-ip `

创建普通用户

不要用 root 用户运行 OpenClaw,创建一个专用用户:
`bash

创建用户

adduser openclaw

添加 sudo 权限

usermod -aG sudo openclaw

切换到新用户

su - openclaw
`

系统更新

`bash sudo apt update && sudo apt upgrade -y `

安装基础工具

`bash sudo apt install -y curl wget git build-essential `

安装 Node.js

推荐使用 NodeSource 官方源安装 Node.js 24:
`bash

安装 Node.js 24(推荐)

curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - sudo apt install -y nodejs

验证安装

node --version # 应该显示 v24.x.x npm --version
` 如果你更习惯用 nvm 管理 Node.js 版本: `bash

安装 nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash source ~/.bashrc

安装 Node.js 24

nvm install 24 nvm use 24 nvm alias default 24
` 国内服务器加速 npm: `bash

设置淘宝镜像

npm config set registry https://registry.npmmirror.com
`

OpenClaw 安装和配置

安装 OpenClaw

`bash

使用官方安装脚本

curl -fsSL https://get.openclaw.ai | bash

或者通过 npm 安装

npm install -g openclaw@latest

验证安装

openclaw --version
`

初始化配置

`bash

运行初始化向导

openclaw onboard
` 向导会引导你完成: 1. 选择 AI 模型提供商(OpenAI、Anthropic、DeepSeek 等) 2. 配置 API Key 3. 设置基本参数

配置文件

安装完成后,主要配置文件位于:
` ~/.openclaw/ ├── openclaw.json # 主配置文件 ├── agents/ │ └── default/ │ ├── SOUL.md # 智能体人设 │ ├── AGENTS.md # 操作说明 │ └── sessions/ # 会话存储 └── skills/ # 已安装的技能 ` 编辑主配置文件: `bash nano ~/.openclaw/openclaw.json ` 基本配置示例: `json { "gateway": { "port": 18789, "host": "127.0.0.1" }, "models": { "default": { "provider": "deepseek", "model": "deepseek-chat", "apiKey": "sk-your-api-key" } } } `

启动测试

`bash

启动 Gateway

openclaw gateway start

检查状态

openclaw gateway status

访问仪表板(本地)

curl http://127.0.0.1:18789/
` 确认 Gateway 正常运行后,按 Ctrl+C 停止,接下来配置进程管理。

Gateway 远程访问配置

默认情况下,Gateway 只监听
127.0.0.1(本地),外部无法直接访问。有几种方式实现远程访问。

方式 1:Tailscale(推荐)

Tailscale 是最简单安全的远程访问方案,基于 WireGuard 协议创建私有网络。
`bash

安装 Tailscale

curl -fsSL https://tailscale.com/install.sh | sh

启动并登录

sudo tailscale up

查看分配的 IP

tailscale ip -4

输出类似:100.64.x.x

` 在你的本地电脑上也安装 Tailscale 并登录同一账号,然后就可以通过 Tailscale IP 访问 Gateway: ` http://100.64.x.x:18789/ ` Tailscale 的优势: - 端到端加密,无需额外配置 SSL - 不需要开放公网端口 - 穿透 NAT,即使服务器在内网也能访问 - 免费版支持最多 100 台设备

方式 2:SSH 隧道

如果不想安装额外软件,SSH 隧道是最简单的临时方案:
`bash

在本地电脑执行,将远程 18789 端口映射到本地

ssh -L 18789:127.0.0.1:18789 openclaw@your-server-ip

然后在本地浏览器访问

http://127.0.0.1:18789/

` SSH 隧道的特点: - 无需安装额外软件 - 连接断开后隧道关闭 - 适合临时访问和调试

方式 3:Nginx 反向代理(公网访问)

如果你需要让 Gateway 通过域名公网访问(比如 WebChat),需要配置 Nginx 反向代理。详见下一节。

Nginx 反向代理

安装 Nginx

`bash sudo apt install -y nginx sudo systemctl enable nginx sudo systemctl start nginx `

配置反向代理

创建 Nginx 配置文件:
`bash sudo nano /etc/nginx/sites-available/openclaw ` 写入以下配置: `nginx server { listen 80; server_name your-domain.com; # WebSocket 支持(OpenClaw 需要) location / { proxy_pass http://127.0.0.1:18789; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 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; # WebSocket 超时设置 proxy_read_timeout 86400s; proxy_send_timeout 86400s; } } ` 启用配置: `bash

创建软链接

sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/

删除默认配置(可选)

sudo rm /etc/nginx/sites-enabled/default

测试配置语法

sudo nginx -t

重载 Nginx

sudo systemctl reload nginx
`

WebSocket 支持说明

OpenClaw 的 WebChat 和部分渠道使用 WebSocket 通信。Nginx 配置中的关键参数: -
proxy_http_version 1.1:WebSocket 需要 HTTP/1.1 - UpgradeConnection 头:WebSocket 握手必需 - proxy_read_timeout 86400s:保持长连接不超时(24 小时)

SSL 证书

使用 Let's Encrypt + Certbot

`bash

安装 Certbot

sudo apt install -y certbot python3-certbot-nginx

申请证书(自动修改 Nginx 配置)

sudo certbot --nginx -d your-domain.com

测试自动续期

sudo certbot renew --dry-run
` Certbot 会自动: 1. 申请免费的 SSL 证书 2. 修改 Nginx 配置,添加 HTTPS 支持 3. 设置自动续期(证书有效期 90 天,自动续期)

证书续期

Certbot 安装后会自动创建定时任务,每天检查证书是否需要续期。你也可以手动检查:
`bash

查看证书状态

sudo certbot certificates

手动续期

sudo certbot renew

查看自动续期定时任务

sudo systemctl list-timers | grep certbot
`

配置完成后的 Nginx

Certbot 修改后的配置大致如下:
`nginx server { listen 443 ssl; server_name your-domain.com; ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; location / { proxy_pass http://127.0.0.1:18789; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 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_read_timeout 86400s; proxy_send_timeout 86400s; } } server { listen 80; server_name your-domain.com; return 301 https://$host$request_uri; } `

PM2 进程管理

使用 PM2 管理 OpenClaw Gateway 进程,实现开机自启和崩溃重启。

安装 PM2

`bash npm install -g pm2 `

使用 PM2 启动 Gateway

`bash

启动 Gateway

pm2 start "openclaw gateway start" --name openclaw-gateway

查看状态

pm2 status

查看日志

pm2 logs openclaw-gateway

保存进程列表(用于开机自启)

pm2 save

设置开机自启

pm2 startup

按照输出的提示执行 sudo 命令

`

PM2 常用命令

`bash

重启

pm2 restart openclaw-gateway

停止

pm2 stop openclaw-gateway

删除进程

pm2 delete openclaw-gateway

查看详细信息

pm2 show openclaw-gateway

监控面板

pm2 monit

查看最近 100 行日志

pm2 logs openclaw-gateway --lines 100
`

PM2 配置文件(可选)

创建
ecosystem.config.js 获得更精细的控制: `javascript module.exports = { apps: [{ name: 'openclaw-gateway', script: 'openclaw', args: 'gateway start', cwd: '/home/openclaw', env: { NODE_ENV: 'production' }, max_memory_restart: '500M', restart_delay: 5000, max_restarts: 10, log_date_format: 'YYYY-MM-DD HH:mm:ss' }] } ` `bash pm2 start ecosystem.config.js `

使用 systemd(替代方案)

如果你更习惯 systemd:
`bash sudo nano /etc/systemd/system/openclaw.service ` `ini [Unit] Description=OpenClaw Gateway After=network.target [Service] Type=simple User=openclaw WorkingDirectory=/home/openclaw ExecStart=/usr/bin/openclaw gateway start Restart=always RestartSec=5 Environment=NODE_ENV=production [Install] WantedBy=multi-user.target ` `bash

启用并启动

sudo systemctl enable openclaw sudo systemctl start openclaw

查看状态

sudo systemctl status openclaw

查看日志

sudo journalctl -u openclaw -f
`

防火墙配置

使用 ufw

`bash

安装 ufw(通常已预装)

sudo apt install -y ufw

设置默认策略

sudo ufw default deny incoming sudo ufw default allow outgoing

允许 SSH(重要!先开放 SSH 再启用防火墙)

sudo ufw allow 22/tcp

允许 HTTP 和 HTTPS

sudo ufw allow 80/tcp sudo ufw allow 443/tcp

启用防火墙

sudo ufw enable

查看规则

sudo ufw status verbose
`

安全建议

- 只开放必要端口:22(SSH)、80(HTTP)、443(HTTPS) - 不要开放 18789 端口:Gateway 端口不应直接暴露,通过 Nginx 反向代理访问 - 考虑限制 SSH 来源 IP:如果你有固定 IP
`bash

只允许特定 IP 访问 SSH

sudo ufw allow from 1.2.3.4 to any port 22
` - 安装 fail2ban 防暴力破解`bash sudo apt install -y fail2ban sudo systemctl enable fail2ban sudo systemctl start fail2ban `

监控和日志

OpenClaw 日志

`bash

查看 Gateway 日志

openclaw logs

实时跟踪日志

openclaw logs -f

查看最近 50 行

openclaw logs --lines 50
`

PM2 日志

`bash

查看所有进程日志

pm2 logs

查看特定进程日志

pm2 logs openclaw-gateway

清空日志

pm2 flush
`

系统监控

`bash

查看系统资源使用

htop

查看磁盘使用

df -h

查看内存使用

free -h

查看 OpenClaw 进程资源占用

pm2 monit
`

日志轮转

PM2 日志文件会持续增长,建议配置日志轮转:
`bash

安装 PM2 日志轮转模块

pm2 install pm2-logrotate

配置:每个日志文件最大 10MB,保留 7 个文件

pm2 set pm2-logrotate:max_size 10M pm2 set pm2-logrotate:retain 7 pm2 set pm2-logrotate:compress true
`

健康检查

创建一个简单的健康检查脚本:
`bash #!/bin/bash

health-check.sh

STATUS=$(curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:18789/) if [ "$STATUS" != "200" ]; then echo "$(date): Gateway 异常,HTTP 状态码: $STATUS" >> /var/log/openclaw-health.log pm2 restart openclaw-gateway echo "$(date): 已自动重启 Gateway" >> /var/log/openclaw-health.log fi
` 添加到 crontab,每 5 分钟检查一次: `bash crontab -e

添加:

*/5 * * * * /home/openclaw/health-check.sh

`

国内服务器备案注意事项

如果你使用国内服务器并需要绑定域名,需要注意以下事项:

备案要求

- 使用国内服务器 + 域名绑定 80/443 端口 = 必须备案 - 未备案的域名会被云服务商拦截,无法通过 HTTP/HTTPS 访问 - 备案周期通常 7-20 个工作日

备案流程

1. 在云服务商控制台提交备案申请 2. 填写网站信息、主体信息 3. 上传身份证照片、网站负责人照片 4. 等待管局审核 5. 审核通过后,在网站底部添加备案号

备案期间的替代方案

在等待备案期间,你可以: 方案 1:使用 IP 直接访问
`nginx server { listen 80; server_name your-server-ip; # ... } ` 通过 http://your-server-ip 访问,不需要备案。 方案 2:使用非标准端口 `nginx server { listen 8080; server_name your-domain.com; # ... } ` 部分云服务商对非 80/443 端口不强制备案(但不保证)。 方案 3:使用 Tailscale 通过 Tailscale 私有网络访问,完全不需要域名和备案。

不需要备案的情况

- 使用国外服务器(无论域名在哪里注册) - 只通过 IP 地址访问(不绑定域名) - 只通过 Tailscale/SSH 隧道访问 - 只在内网使用

完整部署清单

按照以下清单确认部署完成:
` □ 服务器购买和 SSH 连接 □ 创建普通用户,禁用 root SSH 登录 □ 系统更新和基础工具安装 □ Node.js 24 安装 □ OpenClaw 安装和初始化 □ API Key 配置 □ Gateway 本地测试通过 □ PM2 安装和进程管理配置 □ PM2 开机自启设置 □ Nginx 安装和反向代理配置 □ SSL 证书申请和自动续期 □ 防火墙配置(ufw) □ fail2ban 安装 □ 日志轮转配置 □ 健康检查脚本 □ 域名备案(国内服务器) ``

小结

VPS 部署 OpenClaw 的完整流程: - 选择合适的 VPS(国内访问快选腾讯云/阿里云,直连国外 API 选 Hetzner/DigitalOcean) - 系统初始化:创建用户、安装 Node.js 24、配置国内镜像 - 安装 OpenClaw 并配置 API Key - 远程访问推荐 Tailscale(最简单安全),公网访问用 Nginx 反向代理 - SSL 证书用 Let's Encrypt + Certbot,自动续期 - 进程管理用 PM2(开机自启 + 崩溃重启) - 防火墙只开放 22/80/443,安装 fail2ban 防暴力破解 - 国内服务器绑定域名需要备案,备案期间可用 IP 或 Tailscale 访问 部署完成后,你的 OpenClaw Gateway 就可以 7×24 小时稳定运行了。 #VPS部署 #服务器部署 #远程访问 #Nginx #SSL证书 #龙虾技能库
#VPS#服务器部署#远程访问#Nginx#SSL#运维

📚 相关教程

Docker 部署教程进阶
使用 Docker 和 docker-compose 将 OpenClaw 部署到 VPS 服务器,涵盖镜像获取、环境变量配置、数据持久化、Nginx 反向代理、SSL 证书和国内服务器注意事项。
Gateway 网关配置教程中级
了解如何配置和管理 OpenClaw Gateway 网关,包括端口设置、远程访问、服务管理和常见故障排查。
← 模板文件参考教程