根本原因是gateway服务未真正运行,需从进程、端口、配置三层逐级验证:先用systemctl和ps确认服务状态,再用lsof/netstat检查18789端口占用,最后核查config.yaml语法、listen_address及ssl证书路径。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw部署完成后执行openclaw dashboard提示控制台地址但浏览器打不开http://127.0.0.1:18789,根本原因是Gateway服务未真正运行——不是网页加载慢,而是底层WebSocket连接被拒绝,必须从进程、端口、配置三层逐级验证。
确认Gateway服务真实状态
先别急着改配置,用系统命令看透本质:systemctl is-active openclaw-gateway返回inactive或failed,说明服务压根没起来;若返回active但ps aux | grep openclaw-gateway查不到进程,就是服务假活。这时候journalctl -u openclaw-gateway -b --no-pager必须立刻执行,日志里出现Address already in use就直接跳到端口排查环节。
注意:【systemd not installed】这个提示意味着你连服务管理框架都没装,所有systemctl start命令都无效,必须先装systemd或改用openclaw gateway --verbose前台启动排障。
释放被占用的18789端口
这是最常见死因,尤其在反复安装、异常中断后:
- Linux/macOS下执行
lsof -i :18789,Windows下执行netstat -ano | findstr :18789,确认PID值 - Linux/macOS用
kill -9 PID强杀,Windows用taskkill /PID PID /F - 再执行一遍端口检查命令,输出必须为空——任何残留文字都代表端口没清干净
这一步操作起来很简单,直接把文件拖进去就行。但别跳过第三步,很多用户kill完就去重启服务,结果还是失败,就是因为端口其实还在监听。
修改Gateway监听端口(备用方案)
当端口被系统关键服务(如某些云厂商Agent)占用无法释放时,换端口是最稳妥的绕行路径:
方法一:改配置文件
打开~/.openclaw/config.yaml,找到gateway:区块,把port: 18789改成port: 18888,保存后执行openclaw gateway start;
方法二:启动时覆盖
直接运行openclaw gateway --port 18999 --verbose,前台启动并实时看日志,成功后访问http://127.0.0.1:18999。
改完端口别忘了验证:Linux用nc -zv 127.0.0.1 18888,Windows用PowerShell执行Test-NetConnection -ComputerName 127.0.0.1 -Port 18888,返回TcpTestSucceeded : True才算真正通了。
检查配置文件语法与绑定地址
YAML缩进错一个空格,Gateway就起不来。用yamllint ~/.openclaw/config.yaml扫一遍,重点盯network:区块下的listen_address字段——如果写成127.0.0.1,那只有本机能访问;生产环境必须是0.0.0.0或具体网卡IP,否则Dashboard页面打不开。
SSL证书路径也要核对:cert_chain和private_key指向的.pem文件必须存在且权限为600,否则日志里会报permission denied而不是端口错误,容易误判。










