在云服务器上部署OpenClaw是我被问到最多的话题之一。说实话,本地跑起来是一回事,放到云上能稳定运行又是另一回事。网络、安全、性能优化,每一个环节都有坑。我自己踩了不少,这篇文章把经验全倒出来,争取让你少走弯路。我会用阿里云的Ubuntu系统做演示,但道理是通用的,腾讯云华为云也一样适用。

OpenClaw最新版本一键部署包下载地址:TopClaw官网一键免费部署OpenClaw

云服务器怎么选

先聊硬件配置。OpenClaw的官方推荐配置是2核4G起步,这个我实测过,确实是最基本的门槛。低于这个配置跑起来会经常卡顿,尤其是并发请求多的时候。

具体到各家云厂商的实例类型:

阿里云:选ecs.c7.large(2核4G,计算型)就行。如果是华东或者华南地域,延迟更低。别选突发性能实例(t系列),OpenClaw需要稳定的CPU性能。

腾讯云:选S5.LARGE8(2核4G,标准型S5)。

华为云:选s6.large.2(2核4G,通用计算型)。

如果预算充足,建议直接上4核8G,体验会好很多。特别是如果你要跑AI相关的插件或者同时开多个Agent,内存会比较吃紧。

硬盘方面,系统盘40GB足够。再加一块数据盘(100GB左右)专门存OpenClaw的数据,这样系统盘和数据盘分开,以后重装系统不会丢数据。

带宽建议至少3Mbps,5Mbps更稳妥。如果用户量不大,按量付费的带宽比固定带宽划算。

系统初始化

买到服务器之后,别急着装东西,先把系统基础工作做好。

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 创建专用用户

# 创建openclaw用户
sudo useradd -m -s /bin/bash openclaw
sudo passwd openclaw

# 给sudo权限
sudo usermod -aG sudo openclaw

不建议直接用root跑OpenClaw。专用用户更安全,权限管理也更清晰。

3. 配置防火墙

sudo ufw allow 22/tcp     # SSH
sudo ufw allow 8080/tcp   # OpenClaw Web界面
sudo ufw allow 443/tcp    # HTTPS(后面会用到)
sudo ufw enable

注意,云服务器除了系统防火墙,还有安全组。你需要在云厂商控制台的安全组规则里也放行8080端口,不然外面访问不到。

4. 配置SSH密钥登录

强烈建议用密钥登录代替密码登录,安全得多。在你本地机器生成密钥:

ssh-keygen -t ed25519 -C "your-email@example.com"
ssh-copy-id openclaw@你的服务器IP

然后禁用密码登录:

sudo nano /etc/ssh/sshd_config
# 找到 PasswordAuthentication 这行,改成 no
sudo systemctl restart sshd

安装部署

系统初始化好了,开始装OpenClaw。

安装依赖

# 安装基础工具
sudo apt install -y curl wget git unzip build-essential

# 安装Node.js 18
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

# 安装Python 3.11
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:deadsnakes/ppa
sudo apt install -y python3.11 python3.11-venv python3.11-dev python3-pip

# 配置npm镜像
npm config set registry https://registry.npmmirror.com

# 配置pip镜像
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

这里配了国内镜像,后面安装依赖会快很多。

安装OpenClaw

# 创建安装目录
sudo mkdir -p /opt/openclaw
sudo chown openclaw:openclaw /opt/openclaw
cd /opt/openclaw

# 下载并解压安装包
wget https://releases.openclaw.com/latest/openclaw-linux-x64.tar.gz
tar -xzf openclaw-linux-x64.tar.gz

# 安装Node依赖
npm install --production

# 初始化
./openclaw init

初始化的时候会让你设置几个东西。端口用默认的8080就行。数据目录改到/data/openclaw(也就是那块单独的数据盘):

# 挂载数据盘(假设数据盘是/dev/vdb)
sudo mkfs.ext4 /dev/vdb
sudo mkdir -p /data/openclaw
sudo mount /dev/vdb /data/openclaw

# 加入fstab实现开机自动挂载
echo '/dev/vdb /data/openclaw ext4 defaults 0 0' | sudo tee -a /etc/fstab

# 设置权限
sudo chown -R openclaw:openclaw /data/openclaw

配置系统服务

sudo tee /etc/systemd/system/openclaw.service <<'EOF'
[Unit]
Description=OpenClaw Gateway Service
After=network.target

[Service]
Type=simple
User=openclaw
Group=openclaw
WorkingDirectory=/opt/openclaw
Environment=NODE_ENV=production
ExecStart=/usr/bin/node /opt/openclaw/server.js
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw
sudo systemctl status openclaw

看到"active (running)"就说明服务启动成功了。

安全配置

放到云上之后,安全是第一优先级的事。几个必须要做的安全措施:

1. Nginx反向代理 + HTTPS

直接暴露8080端口不太安全,建议用Nginx做反向代理,配上SSL证书:

sudo apt install -y nginx certbot python3-certbot-nginx

配置Nginx:

sudo tee /etc/nginx/sites-available/openclaw <<'EOF'
server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        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_cache_bypass $http_upgrade;
        proxy_read_timeout 86400;
    }
}
EOF

sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

然后申请SSL证书:

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

这样你就可以通过https://your-domain.com来访问OpenClaw了,全程加密传输。

2. 限制访问IP

如果你只是自己用,可以在Nginx里限制只有你的IP能访问:

location / {
    allow 你的IP;
    deny all;
    proxy_pass http://127.0.0.1:8080;
    # ... 其他配置
}

3. 定期备份

写个定时备份脚本:

#!/bin/bash
BACKUP_DIR="/data/backups"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR

# 备份数据目录
tar -czf $BACKUP_DIR/openclaw_$DATE.tar.gz /data/openclaw

# 只保留最近7天的备份
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete

加到crontab里每天凌晨3点执行:

crontab -e
# 加入:0 3 * * * /opt/openclaw/backup.sh

性能优化

最后聊几个优化点,让你的部署跑得更丝滑。

开启Swap:4G内存有时候会吃紧,建议开2G的Swap做缓冲:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

调整文件描述符限制:高并发时可能会遇到"too many open files"错误:

sudo tee -a /etc/security/limits.conf <<'EOF'
openclaw soft nofile 65536
openclaw hard nofile 65536
EOF

启用Gzip压缩:在Nginx配置里加上:

gzip on;
gzip_types text/plain text/css application/json application/javascript;
gzip_min_length 1000;

这样API响应的体积能缩小60%-80%,对带宽有限的云服务器特别有用。

到这里,一个生产级的OpenClaw云服务器部署就完成了。安全、稳定、可扩展,日常维护也就是定期更新和备份的事。如果后面要加负载均衡或者多实例,把Nginx配置稍作调整就行,架构已经具备了横向扩展的基础。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐