Skip to main content
部署后最高频的问题:「服务启动了但访问不通」。本页这些命令帮你按层定位 —— 是网络问题、防火墙问题,还是服务根本没监听。

1. 连通性测试:ping

怎么判断
  • 能收到回包 → 网络层
  • 不通 → 可能是网络断、对方防火墙拒 ICMP(很多云主机默认禁 ping,不能 ping 通不代表服务不通
  • time= 数值判断延迟、看 0% packet loss 判断丢包

2. HTTP 测试与下载

部署排查思路
  1. 在服务器本机 curl http://localhost:端口 —— 通 = 服务起了
  2. 不通 → 服务没起 / 没监听这个端口
  3. 通了但外面访问不到 → 防火墙、安全组、或绑了 127.0.0.1 没绑 0.0.0.0
curl -Owget 功能重叠,二者随便用一个即可。curl 测接口更方便,wget 下大文件更稳。

3. 端口与连接:ss / netstat / lsof

参数拆解典型输出
监听 127.0.0.1:80 的服务外网访问不到!要监听 0.0.0.0:80(所有网卡)才行。这是新手最常踩的坑之一。
netstat 来自 net-tools,新系统可能没装。功能上 ss 完全替代它,且 ss 速度快得多。仅在极老的系统上需要 netstat。
「Address already in use」时第一个想到 lsof -i :端口,立刻知道哪个进程占着不放。

4. 排查思路:服务通不通的标准流程

1

服务有没有起来?

2

服务在不在监听端口?

没结果 = 没监听;监听在 127.0.0.1 而不是 0.0.0.0 = 外部访问不到。
3

本机能不能访问?

本机不通 = 应用 bug;本机通外部不通 = 防火墙 / 安全组。
4

网络层通不通?

5

DNS 解析对不对?

6

防火墙放行了吗?

云主机额外检查 安全组 / 网络 ACL 是否放行了端口。

5. 抓包与诊断(进阶了解)

新手不需要立刻掌握,但记住这些命令的存在 —— 真到了需要分析跨主机网络问题时,tcpdump 是终极武器。

远程登录与文件传输 → SSH 专题

ssh 远程登录、密钥配置、scp / rsync 文件传输、端口转发隧道,单独整理为一篇。