很多新手站长遇到网站打不开,第一反应就是“服务器挂了”或者“被攻击了”,然后急得团团转。其实,大部分网站无法访问的问题,根源并不在服务器本身,而是出在域名解析或本地网络环境上。如果盲目重启服务器或重装系统,不仅解决不了问题,还可能造成数据丢失。下面这套完整的排查流程,能帮你从零开始,一步步定位到底是域名解析坏了、服务器宕机了,还是你本地网络抽风了。
### 前言介绍
网站访问的本质,是你在浏览器输入域名(比如 example.com),然后电脑去问一个叫“DNS服务器”的电话本,查到域名对应的服务器IP地址(比如 192.168.1.1),最后电脑再通过这个IP地址去连接服务器,获取网页内容。任何一个环节出问题,网站都会打不开。本教程将按照“从外到内、从简单到复杂”的逻辑,教你用系统自带工具和在线工具,精准定位故障点,避免瞎折腾。
### 前置准备
在开始排查之前,请确保你手头有以下信息或工具,这能节省大量时间。
1. **网站域名**:比如 `www.example.com` 或 `example.com`。
2. **服务器IP地址**:你购买服务器时服务商提供的公网IP(比如 192.168.1.1)。如果不知道,去服务器管理后台找。
3. **一台能上网的电脑**:Windows、Mac 或 Linux 系统均可。教程以 Windows 为例,Mac/Linux 命令类似。
4. **手机流量**:用于切换网络环境测试,排除本地宽带问题。
5. **命令行工具**:Windows 系统按 `Win + R` 键,输入 `cmd` 并回车,打开命令提示符。Mac 系统打开“终端”应用。
### 分步操作步骤
#### 第一步:快速判断是“全网崩”还是“你崩了”
这一步的目的是区分:是网站服务器或域名解析真的出了问题(所有人都打不开),还是只有你所在的网络环境有问题(比如宽带欠费、路由器死机)。
1. **使用第三方监测平台**:打开手机浏览器(使用手机流量,不要用你出问题的宽带),访问“站长工具”或“爱站网”的“网站测速”功能(直接百度搜索即可找到)。输入你的域名,点击检测。
2. **查看检测结果**:
- 如果检测结果显示全国多个节点(比如北京、上海、广东)都显示“连接超时”或“无法访问”,说明网站服务器或域名解析全局出了问题,请直接跳到**第三步**排查服务器和解析。
- 如果检测结果显示全国大部分节点访问正常,只有你所在的城市或网络运营商(比如电信、联通)报错,或者所有节点都正常,只有你打不开,那问题大概率出在你自己的网络环境或本地电脑上。请继续执行**第二步**。
3. **切换网络测试**:关闭你电脑的Wi-Fi,用手机开启个人热点,让电脑连接手机流量。再次在浏览器输入你的域名。如果能打开,说明你原本的宽带网络有问题(如DNS劫持、路由器故障)。如果仍然打不开,且刚才的第三方监测显示全国正常,那可能是你电脑本身有问题(如hosts文件被修改、浏览器缓存异常)。
#### 第二步:排查本地网络与电脑设置(针对“只有你打不开”的情况)
如果确认是本地问题,按以下顺序排查,90%的本地问题都能解决。
1. **刷新DNS缓存(最常用)**:
- 在命令提示符(cmd)中输入 `ipconfig /flushdns`,然后按回车。
- 系统会提示“已成功刷新 DNS 解析缓存”。这一步能清除你电脑上残留的错误域名解析记录。
- 刷新后,再次尝试访问网站。如果好了,问题就是本地DNS缓存错误。
2. **检查hosts文件是否被篡改**:
- 在Windows资源管理器地址栏输入 `C:\Windows\System32\drivers\etc`,回车。
- 找到 `hosts` 文件,用记事本打开。
- 查看文件中是否有你域名的记录。正常情况应该只有 `127.0.0.1 localhost` 这一行。如果看到类似 `192.168.1.100 example.com` 这样的内容,说明被恶意或误修改了。在该行前面加一个 `#` 号注释掉,保存文件(可能需要管理员权限)。
- 保存后,再次刷新DNS缓存(执行上一步),然后尝试访问。
3. **更换电脑的DNS服务器**:
- 打开“控制面板” -> “网络和共享中心” -> “更改适配器设置”。
- 右键点击你正在使用的网络连接(以太网或WLAN),选择“属性”。
- 双击“Internet协议版本4 (TCP/IPv4)”。
- 选择“使用下面的DNS服务器地址”,将首选DNS改为 `114.114.114.114`(国内通用),备用DNS改为 `8.8.8.8`(谷歌通用)。
- 点击确定,再次刷新DNS缓存并尝试访问。这一步能解决运营商DNS劫持或解析错误问题。
4. **重启网络设备**:
- 拔掉路由器、光猫(光纤猫)的电源插头。
- 等待1分钟,先插上光猫电源,等指示灯全亮稳定后,再插上路由器电源。
- 等待路由器启动完成,电脑重新连接网络,再次访问网站。
#### 第三步:排查域名解析(针对“全网都打不开”的情况)
如果第一步的第三方监测显示全国无法访问,或者你怀疑域名解析本身出了问题,执行以下操作。
1. **使用nslookup命令检查解析**:
- 在命令提示符(cmd)中输入 `nslookup 你的域名`,比如 `nslookup www.example.com`。
- 查看返回结果。
- **正常情况**:会显示一个“非权威应答”,下面列出 `Addresses`,里面有一个或多个IP地址。这个IP应该和你服务器实际的公网IP一致。
- **异常情况1**:提示 `*** 服务器找不到地址` 或 `Non-existent domain`。这说明域名没有正确解析到任何IP,可能是DNS解析记录未配置、已过期或被删除。
- **异常情况2**:显示的IP地址不是你服务器的IP(比如显示了一个奇怪的IP或 `127.0.0.1`)。这说明域名被错误解析或劫持了。
2. **检查域名解析记录**:
- 登录你购买域名的服务商后台(如阿里云、腾讯云、GoDaddy)。
- 找到“域名管理” -> “解析设置”(或DNS管理)。
- 检查你域名的记录类型。
- **A记录**:必须存在一条记录,主机记录为 `@`(代表主域名)或 `www`,记录值是你服务器的公网IP。
- **CNAME记录**:如果你用了CDN或别名,检查CNAME指向的目标地址是否正确。
- **关键操作**:检查解析记录的TTL(生存时间)值。如果TTL设置为10分钟,那么你修改解析后,全球生效需要最多10分钟。如果你刚修改过解析,请耐心等待。
3. **检查域名状态**:
- 在域名服务商后台,查看域名的“状态”。
- **正常状态**:应为“正常”或“OK”。
- **异常状态**:如果显示“serverHold”(注册局暂停解析)、“clientHold”(注册商暂停解析),说明域名可能未实名认证、未续费或被锁定。需要联系服务商处理。
- 如果显示“clientTransferProhibited”等,一般是正常保护状态,不影响解析。
#### 第四步:排查服务器本身(针对“解析正常但网站打不开”的情况)
如果nslookup返回了正确的IP地址,但网站仍然无法访问,问题就出在服务器上。
1. **Ping服务器IP地址**:
- 在命令提示符中输入 `ping 你的服务器IP`,比如 `ping 192.168.1.1`。
- **正常情况**:返回 `来自 192.168.1.1 的回复: 字节=32 时间=10ms TTL=50`,说明服务器网络层面是通的。
- **异常情况**:提示 `请求超时` 或 `无法访问目标主机`。
- **可能原因1**:服务器防火墙禁止了ICMP协议(Ping命令)。这并不代表服务器完全挂了,但需要进一步确认。
- **可能原因2**:服务器真的宕机了,或者被关机了。此时需要登录服务器管理后台(如阿里云ECS控制台)查看服务器状态。如果显示“运行中”,尝试在控制台远程连接(VNC)进去看看。
2. **检查服务器上的Web服务**:
- 如果Ping通了,但网站打不开,大概率是服务器上的网站服务软件(如Nginx、Apache、IIS)停止了或配置错误。
- **通过远程桌面或SSH登录服务器**:
- **Windows服务器**:使用远程桌面连接,登录后查看“事件查看器” -> “Windows日志” -> “系统”或“应用程序”,找错误信息。然后检查IIS管理器,看网站是否停止。
- **Linux服务器**:使用SSH客户端(如Putty)登录。执行 `systemctl status nginx`(或 `httpd` / `apache2`)查看服务状态。如果显示 `inactive (dead)`,执行 `systemctl start nginx` 启动服务。
- **检查端口监听**:在服务器上执行 `netstat -anp | grep 80`(Linux)或在Windows命令行执行 `netstat -ano | findstr :80`。如果看不到 `:80` 或 `:443` 的监听,说明Web服务根本没启动。
3. **检查服务器防火墙/安全组**:
- 登录云服务商控制台,找到“安全组”或“防火墙”设置。
- 检查入方向规则,是否放行了 `80`(HTTP)和 `443`(HTTPS)端口。如果没有,添加规则:协议为TCP,端口为80/443,授权对象为 `0.0.0.0/0`(允许所有来源)。
- 同时检查服务器内部的系统防火墙(如Windows防火墙或Linux iptables/firewalld),确保没有阻止80/443端口。
### 常见问题
**Q1:我用手机流量能打开,用家里宽带打不开,怎么办?**
A:这是典型的本地网络DNS问题。请执行第二步中的“更换电脑的DNS服务器”操作,将DNS改为114.114.114.114。如果仍然不行,尝试重启光猫和路由器。如果还不行,请联系宽带运营商客服,反映“DNS解析异常”。
**Q2:ping服务器IP能通,但网站就是显示“无法访问此站点”?**
A:这种情况最常见的原因是服务器上的Web服务(Nginx/Apache/IIS)没有启动,或者服务器防火墙(包括云安全组)没有放行80/443端口。请重点执行第四步的第2和第3小点。
**Q3:nslookup查到的IP不是我服务器的IP,怎么办?**
A:说明域名解析记录被篡改或配置错误。请立即登录域名服务商后台,检查A记录或CNAME记录。删除错误的记录,添加正确的记录。注意,修改解析后需要等待TTL时间(通常10分钟到1小时)才能全球生效。
**Q4:网站昨天还能打开,今天突然打不开了,什么都没动过?**
A:这种情况优先考虑:1. 域名是否到期(检查域名状态)。2. 服务器是否被攻击导致IP被封(联系服务器商)。3. 服务器磁盘是否写满(登录服务器检查磁盘空间)。4. 网站程序是否被挂马或删除(检查网站文件)。
### 收尾总结
网站打不开是一个综合性的问题,但遵循“先本地后全局、先解析后服务器”的顺序,绝大多数问题都能在10分钟内定位。记住,不要一上来就重装系统或重启服务器,那是最低效的方法。建议你将这套流程保存下来,或者打印贴在工位上。当网站再次宕机时,按部就班地执行每一步,你会发现,很多看似严重的问题,其实只是DNS缓存没刷新或者安全组端口忘开了。养成记录故障日志的习惯,下次遇到类似问题就能秒级解决。