前言
最近部署了 OpenClaw——一个开源的 AI 网关工具,用来统一管理和路由各种 AI 模型的请求。折腾了一轮,把踩的坑和完整步骤记下来,方便以后复盘,也给有同样需求的朋友参考。
服务器环境:CentOS 8.2,需要安装 Node.js 22+,并用 Nginx 做 HTTPS 反代。
一、安装 Node.js
OpenClaw 的核心运行环境依赖 Node.js,版本需满足 v22.x.x 或更高。
使用 Nodesource 官方脚本安装:
1 | # 下载并执行安装脚本 |
安装完成后,应该能看到 v22.x.x 类似的输出。
二、安装 OpenClaw
Node.js 装好后,通过 npm 全局安装 OpenClaw:
1 | # 使用 npm 全局安装最新版 |
注:
onboard步骤是可选的,如果你已经熟悉配置,可以直接用openclaw config命令手动设置。
三、启动服务
1 | # 启动 Gateway |
启动后默认监听 127.0.0.1:18789,仅限本机访问。
四、放行端口(如需公网直连)
如果不用 Nginx 反代,需要直接暴露端口:
1 | sudo firewall-cmd --permanent --add-port=18789/tcp |
五、配置公网访问
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 | openclaw gateway restart |
其他必备配置
1 | # 设置为本地模式(非云端) |
六、Nginx HTTPS 反向代理(推荐)
直接暴露端口不安全,推荐用 Nginx 反代 + 免费 SSL:
安装 Nginx
1 | sudo yum install nginx |
配置 Nginx 反代
1 | server { |
申请 SSL 证书
1 | sudo yum install certbot python3-certbot-nginx |
七、常见问题排查
问题 1:登录控制台提示 origin not allowed
需要配置允许的来源域名:
1 | openclaw config set gateway.controlUi.allowedOrigins "['http://your-ip:18789']" |
问题 2:提示 control ui requires device identity
这个是浏览器安全限制,要求 HTTPS 或 localhost 才能使用控制台。有两种解决方式:
- 推荐: 用上面 Nginx + Let’s Encrypt 配置 HTTPS
- 临时方案: 用 SSH 隧道把远程端口映射到本地:
1 | # 本地电脑执行 |
然后用浏览器访问 http://localhost:18789 即可。
问题 3:服务启动失败
用前台模式运行可以看详细报错:
1 | openclaw gateway run --verbose |
问题 4:自诊断命令
1 | openclaw doctor --fix |
这个命令会自动扫描常见的配置问题并尝试修复,遇到不明问题时优先试试它。
八、总结
整体流程不复杂,核心就几步:装 Node.js → 装 OpenClaw → 配置 → 启动 → 挂 Nginx 反代。最容易踩坑的是两点:
- Node.js 版本一定要 22+,低了装不上或启动报错。
- 控制台的 HTTPS 限制,部署到线上一定要配证书,不然控制台用不了。
装完之后日常用 openclaw gateway start|stop|restart 管理服务就行,还是比较省心的。
写于 2026 年 6 月