LOADING

加载过慢请开启缓存 浏览器默认开启

OpenClaw 安装部署实战教程(CentOS 8.2)

前言

最近部署了 OpenClaw——一个开源的 AI 网关工具,用来统一管理和路由各种 AI 模型的请求。折腾了一轮,把踩的坑和完整步骤记下来,方便以后复盘,也给有同样需求的朋友参考。

服务器环境:CentOS 8.2,需要安装 Node.js 22+,并用 Nginx 做 HTTPS 反代。


一、安装 Node.js

OpenClaw 的核心运行环境依赖 Node.js,版本需满足 v22.x.x 或更高。

使用 Nodesource 官方脚本安装:

1
2
3
4
5
6
7
8
# 下载并执行安装脚本
curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash -

# 安装 Node.js
sudo yum install -y nodejs

# 验证版本
node -v

安装完成后,应该能看到 v22.x.x 类似的输出。


二、安装 OpenClaw

Node.js 装好后,通过 npm 全局安装 OpenClaw:

1
2
3
4
5
6
7
8
# 使用 npm 全局安装最新版
npm install -g openclaw@latest

# 运行初始化向导(会引导配置 API Key 等,也可以跳过,后面手动配)
openclaw onboard --install-daemon

# 安装 OpenClaw Gateway 组件
openclaw gateway install

注: onboard 步骤是可选的,如果你已经熟悉配置,可以直接用 openclaw config 命令手动设置。


三、启动服务

1
2
3
4
5
# 启动 Gateway
openclaw gateway start

# 查看服务运行状态
openclaw status

启动后默认监听 127.0.0.1:18789,仅限本机访问。


四、放行端口(如需公网直连)

如果不用 Nginx 反代,需要直接暴露端口:

1
2
sudo firewall-cmd --permanent --add-port=18789/tcp
sudo firewall-cmd --reload

五、配置公网访问

OpenClaw 默认绑定 localhost,改到 LAN 或 0.0.0.0 才能从外部访问。

方法一:绑定到 lan

1
openclaw config set gateway.bind "lan"

方法二:绑定到 0.0.0.0

1
openclaw config set gateway.bind "0.0.0.0"

重启服务生效

1
2
3
4
openclaw gateway restart

# 验证是否生效——应显示 lan 或 0.0.0.0
openclaw config get gateway.bind

其他必备配置

1
2
3
4
5
6
7
8
# 设置为本地模式(非云端)
openclaw config set gateway.mode local

# 生成长期有效的访问令牌(365 天)
openclaw gateway token generate --expire 365d

# 设置开机自启
systemctl --user enable openclaw-gateway

六、Nginx HTTPS 反向代理(推荐)

直接暴露端口不安全,推荐用 Nginx 反代 + 免费 SSL:

安装 Nginx

1
sudo yum install nginx

配置 Nginx 反代

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
server {
listen 80;
server_name your-domain.com;
return 301 https://$server_name$request_uri;
}

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;

location / {
proxy_pass http://127.0.0.1:18789;
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;
}
}

申请 SSL 证书

1
2
3
4
5
sudo yum install certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com

# 重启 Nginx
sudo systemctl restart nginx

七、常见问题排查

问题 1:登录控制台提示 origin not allowed

需要配置允许的来源域名:

1
2
openclaw config set gateway.controlUi.allowedOrigins "['http://your-ip:18789']"
systemctl --user restart openclaw-gateway

问题 2:提示 control ui requires device identity

这个是浏览器安全限制,要求 HTTPS 或 localhost 才能使用控制台。有两种解决方式:

  • 推荐: 用上面 Nginx + Let’s Encrypt 配置 HTTPS
  • 临时方案: 用 SSH 隧道把远程端口映射到本地:
1
2
# 本地电脑执行
ssh -L 18789:127.0.0.1:18789 root@your-server-ip -N

然后用浏览器访问 http://localhost:18789 即可。

问题 3:服务启动失败

用前台模式运行可以看详细报错:

1
openclaw gateway run --verbose

问题 4:自诊断命令

1
openclaw doctor --fix

这个命令会自动扫描常见的配置问题并尝试修复,遇到不明问题时优先试试它。


八、总结

整体流程不复杂,核心就几步:装 Node.js → 装 OpenClaw → 配置 → 启动 → 挂 Nginx 反代。最容易踩坑的是两点:

  1. Node.js 版本一定要 22+,低了装不上或启动报错。
  2. 控制台的 HTTPS 限制,部署到线上一定要配证书,不然控制台用不了。

装完之后日常用 openclaw gateway start|stop|restart 管理服务就行,还是比较省心的。


写于 2026 年 6 月