nginx服务启动但浏览器无法访问,说明请求未抵达nginx,需依次排查:①确认nginx进程真实运行(ps -ef | grep nginx);②执行nginx -t验证配置语法;③用ss -tuln | grep ':80'检查是否监听0.0.0.0:80而非127.0.0.1:80;④放行系统防火墙80端口;⑤在云平台安全组中开放80端口入方向规则;⑥排除其他进程占用80端口(lsof -i :80)。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw部署完成后,Nginx服务已启动但浏览器输入服务器IP或域名仍显示“无法访问此网站”“连接被拒绝”或“ERR_CONNECTION_TIMED_OUT”,说明请求根本未抵达Nginx进程,需从网络通路和基础服务状态切入排查。
确认Nginx进程是否真实运行
执行 ps -ef | grep nginx,若只看到 grep 进程本身而无 master/work 进程,说明Nginx未启动或启动后立即崩溃。
运行 systemctl status nginx 查看服务状态。若显示 active (failed),不要直接重启,先查错误根源。
关键动作:执行 sudo nginx -t 验证配置语法。输出中出现 test is successful 才代表配置无硬性语法错误;若报错,必须修正后再继续——【配置未通过测试就强制重载,会导致服务中断】。
检查Nginx监听地址与端口
默认情况下,OpenClaw配套的Nginx应监听 80 端口。执行 ss -tuln | grep ':80',观察输出中的本地地址列(Local Address:Port):
若显示 127.0.0.1:80 或 ::1:80,说明Nginx只绑定回环地址,外部请求无法进入——这是最隐蔽也最常见的失败原因。
正确监听应为 0.0.0.0:80(IPv4)或 *:80(兼容写法),表示接受所有网卡的请求。
修改方法:编辑 /etc/nginx/nginx.conf 或 OpenClaw 提供的 site 配置文件,在 server 块中确认 listen 指令未被误写为 listen 127.0.0.1:80;删掉IP前缀,仅保留 listen 80; 即可。
放行系统防火墙端口
方法一:firewalld(CentOS/RHEL 7+、Fedora 默认)
执行 sudo firewall-cmd --list-ports,检查输出中是否含 80/tcp。
若无,则依次执行:sudo firewall-cmd --permanent --add-port=80/tcp → sudo firewall-cmd --reload。
方法二:iptables(旧系统或自定义环境)
运行 sudo iptables -L INPUT -n | grep 80,若无 ACCEPT 规则,执行:sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT,再保存:sudo service iptables save(CentOS 6)或 sudo iptables-save > /etc/sysconfig/iptables(CentOS 7)。
【注意:firewalld 和 iptables 不要同时启用,否则规则冲突】。
验证云服务商安全组策略
第一步:登录云平台控制台(如阿里云、腾讯云、华为云),定位到当前ECS实例。
第二步:点击“安全组”→“配置规则”,检查入方向(Inbound)规则列表。
第三步:确认存在一条规则,协议类型为 TCP,端口范围填 80/80,授权对象为 0.0.0.0/0(允许所有IP)或你实际需要的IP段。
若规则缺失,点击“添加安全组规则”,按上述参数填写并保存。部分平台需等待10–30秒策略才生效,保存后勿立即刷新测试。
第四步:若OpenClaw使用非标端口(如8080),务必同步检查该端口是否在安全组中开放——【安全组未开放对应端口是云环境访问失败的首要原因】。
排除端口占用冲突
步骤一:执行 sudo lsof -i :80 或 sudo netstat -tulnp | grep ':80'。
若输出中显示 nginx 以外的进程(如 apache2、httpd、node),说明80端口已被抢占。
步骤二:记录该进程PID(第二列数字),执行 sudo kill -9 PID 强制终止。
步骤三:再次运行 sudo nginx -s reload 或 sudo systemctl restart nginx 启动Nginx。
步骤四:立刻用 curl -I http://127.0.0.1 在本机测试——返回 HTTP/1.1 200 OK 或 302 Found 表示Nginx已接管80端口且能响应请求。










