当前位置:首页>Linux>Linux网络排错:为什么你的服务访问不了?(新手实战版)

Linux网络排错:为什么你的服务访问不了?(新手实战版)

  • 2026-09-10 05:50:23
Linux网络排错:为什么你的服务访问不了?(新手实战版)

📖 本文阅读地图

  • 适合人群:刚入门 / 会命令但不会排错

  • 本文约 900+ 字,阅读时间:约 5 分钟

  • 你将学到:

    • 一套标准网络排错流程
    • 5个最常见故障点
    • 如何一步步定位问题(不是瞎试)

😵 一、为什么你“明明启动了服务,却访问不了?”

你是不是遇到过这种情况:

  • 服务已经启动 ✅
  • 端口也开了(好像)✅
  • 浏览器访问就是不通 ❌

👉 这时候大多数人会:

重启服务 → 不行  关防火墙 → 还是不行  开始怀疑人生

👉 本质问题是:

❗你没有“排错路径”,只能靠猜


🧠 二、网络排错核心思路(非常重要🔥)

记住这一条:

访问失败 = 链路上某一层断了

📡 标准排查链路:

客户端 → 网络 → 服务器 → 端口 → 服务

👉 对应5个检查点:

层级
检查内容
① 网络
能不能 ping
② 机器
IP对不对
③ 端口
有没有监听
④ 服务
有没有启动
⑤ 防火墙
有没有拦

👉 接下来我们用一个真实案例走一遍👇


🧪 三、实战案例:访问 Nginx 失败


🎯 场景设定

  • 虚拟机 IP:192.168.2.159
  • 已安装 nginx
  • 浏览器访问失败

🔍 第一步:确认网络是否可达

ping 192.168.2.159

👉 注释

如果 ping 不通,说明网络层就断了


❗ 如果 ping 不通:

排查:

  • IP是否正确
  • 虚拟机网络模式(桥接/NAT)
  • 网卡是否启动

🔍 第二步:确认服务器IP

ip a

👉 注释:

确保IP和你访问的一致


🔍 第三步:端口有没有监听

ss -lntp | grep 80


❗ 如果没有监听:

👉 说明:

❌ 服务没启动 或 启动失败


🔍 第四步:服务状态检查(核心🔥)

systemctl status nginx


❗ 常见情况:

1️⃣ failed

👉 继续查日志:

journalctl -u nginx -xe


2️⃣ active 但访问不了?

👉 继续往下👇


🔍 第五步:防火墙是否拦截

firewall-cmd --list-all


❗ 如果没有开放:

firewall-cmd --add-port=80/tcp --permanentfirewall-cmd --reload


🔍 第六步:本机访问测试(关键一步)

curl http://localhost


👉 判断逻辑:

结果
说明
curl通,外部不通
防火墙/网络问题
curl都不通
服务问题

🧠 四、一张图总结排错流程

访问失败 ↓ping通? → 否 → 网络问题 ↓端口监听? → 否 → 服务没启动 ↓服务正常? → 否 → 查日志 ↓防火墙开放? → 否 → 开端口 ↓本机curl通? → 否 → 服务配置问题

🚀 五、为什么这套方法很重要?

很多人:

会100个命令 ❌ 但不会解决1个问题 ❌


而真正的能力是:

看到问题 → 有路径 → 一步步排除

👉 这篇文章你掌握的不是:

  • nginx
  • 80端口

而是:

🔥 一整套“通用排错思维”


🎯 六、结尾

如果你觉得这篇有用,可以试着:

👉 自己搭一个 nginx👉 故意关掉服务👉 按这套流程走一遍

你会发现:

❗理解会提升一个层级


推荐阅读:👉 1.学会 systemctl,你就能搞定80%的Linux服务问题(推荐新手)👉 2.Linux到底在干嘛?理解系统结构你才真正入门(推荐新手)👉 3.🧰 运维工具箱

最新文章

随机文章