部署后最高频的问题:「服务启动了但访问不通」。本页这些命令帮你按层定位 —— 是网络问题、防火墙问题,还是服务根本没监听。
1. 连通性测试:ping
- 能收到回包 → 网络层通
- 不通 → 可能是网络断、对方防火墙拒 ICMP(很多云主机默认禁 ping,不能 ping 通不代表服务不通)
- 看
time=数值判断延迟、看0% packet loss判断丢包
2. HTTP 测试与下载
curl (Client for URLs) — 测 HTTP 服务
curl (Client for URLs) — 测 HTTP 服务
- 在服务器本机
curl http://localhost:端口—— 通 = 服务起了 - 不通 → 服务没起 / 没监听这个端口
- 通了但外面访问不到 → 防火墙、安全组、或绑了
127.0.0.1没绑0.0.0.0
wget (web get) — 下载文件
wget (web get) — 下载文件
curl -O 和 wget 功能重叠,二者随便用一个即可。curl 测接口更方便,wget 下大文件更稳。3. 端口与连接:ss / netstat / lsof
ss (socket statistics) — 看端口监听(推荐)
ss (socket statistics) — 看端口监听(推荐)
典型输出:
netstat (network statistics) — 老命令
netstat (network statistics) — 老命令
netstat 来自 net-tools,新系统可能没装。功能上 ss 完全替代它,且 ss 速度快得多。仅在极老的系统上需要 netstat。lsof (list open files) — 端口被谁占了
lsof (list open files) — 端口被谁占了
lsof -i :端口,立刻知道哪个进程占着不放。4. 排查思路:服务通不通的标准流程
1
服务有没有起来?
2
服务在不在监听端口?
127.0.0.1 而不是 0.0.0.0 = 外部访问不到。3
本机能不能访问?
4
网络层通不通?
5
DNS 解析对不对?
6
防火墙放行了吗?
5. 抓包与诊断(进阶了解)
tcpdump 是终极武器。
远程登录与文件传输 → SSH 专题
ssh 远程登录、密钥配置、scp / rsync 文件传输、端口转发隧道,单独整理为一篇。