网站突然打不开了?先别关电脑,花2分钟做这3件事
你正跟客户视频介绍网站,对方说“打不开”,你一试——果然白屏。心跳漏半拍,手心冒汗。别急着重启服务器,也别立刻翻聊天记录找程序员,先稳住,我们按顺序快速筛一遍。
第一步:是你的问题,还是全世界的问题?
网站打不开,第一反应不是修,而是“定位范围”。省掉后面所有冤枉路,就靠这一步。
拿出手机,关掉Wi-Fi,切到移动数据,打开浏览器输你的网址。
再微信喊个外地朋友:“帮我点下这个链接,能打开吗?”
如果只有你打不开,别人正常——问题在你这端。试试这三招:
- 清空浏览器缓存(Ctrl+Shift+Del,选“所有时间”)
- 把DNS手动改成
114.114.114.114或8.8.8.8(Windows在“网络适配器设置”里改,Mac在“网络→高级→DNS”) - 用记事本打开电脑的
hosts文件(路径:C:\Windows\System32\drivers\etc\hosts或/etc/hosts),删掉里面所有和你域名相关的行
有次帮一家本地教育机构排查,他们整个办公室都打不开官网,折腾两小时,最后发现是公司新装的路由器把自家域名IP加进了黑名单——防火墙自己拦了自己。
服务器挂了,还是程序崩了?
如果连你手机用流量也打不开,而朋友也说白屏、转圈或报错,问题就在服务器或代码层。关键看浏览器弹出来的那串数字。
按 F12 → 切到「Network」→ 刷新页面 → 看第一个请求的状态码(Status列):
500:服务器内部出错了。常见于PHP脚本报错、数据库连不上、插件冲突。502或504:网关出问题。比如Nginx转发请求给PHP-FPM,但PHP没响应或卡死了。403:权限被拒。可能是文件夹权限设成777了,也可能是.htaccess里写了禁止访问。404:文件找不到了。不是域名问题,是路径错了——比如伪静态规则改过,但没同步更新,或者index.php被误删。
之前帮一个知识付费站点救急,全站报500。登录服务器查/var/log/php/error.log,发现新上的支付插件调用了PHP 8.2才支持的函数,而服务器还在跑8.0。换回旧版插件,5秒恢复。
域名和DNS,是不是在“裸奔”?
域名解析失效,往往悄无声息,但影响最大。它不报错,只让你等——等几十秒,然后显示“无法连接服务器”。
打开电脑终端(Mac/Linux用Terminal,Windows用CMD或PowerShell),输入:
ping 你的域名
如果返回“请求超时”,但把域名换成服务器IP再ping却通——十有八九是DNS没生效。
马上去你买域名的地方(比如阿里云万网、腾讯云DNSPod、新网),检查:
- A记录是否指向当前服务器IP(不是旧IP,不是127.0.0.1)
- CNAME是否填对了(比如托管在Vercel或Cloudflare,得对应它的二级域名)
- 域名有没有过期?点开“域名列表”,看“到期时间”是不是红色标红了
真有人因为行政同事忘了续费,官网停摆两天,客户咨询入口全黑,最后在域名商后台续费完,10分钟就回来了。
服务器资源,被“吃”光了吗?
网站先是慢得像幻灯片,接着彻底打不开——这是硬盘或内存快撑爆的典型信号。
登录你的服务器管理面板(比如宝塔、AMH、或云厂商自带的控制台),直奔监控页看三样:
- CPU使用率是不是长期95%以上?
- 内存占用是不是接近100%,还带大量swap?
- 硬盘空间是不是红了?尤其
/根分区或/www/wwwroot这类网站目录所在盘
重点盯硬盘。日志文件、调试输出、自动备份、用户上传的图片视频……没人管的话,半年就能塞满。
在终端执行:
df -h
看最右边“Use%”列。超过85%,就得动手清了。常用清理目标:
/var/log/下的旧nginx/、php/日志(留最近7天就行)- 网站根目录里的
backup/、old/、test/这类文件夹 - WordPress插件自动生成的
wp-content/cache/(如果你没用专业缓存插件)
上个月帮一个企业站救火,凌晨2点报警,上去一看/var/log/nginx/access.log单个文件32GB——是某段调试代码开着日志狂写,清掉后网站秒活。
防火墙和安全软件,是不是在“误伤”?
防火墙不是越严越好,有时它比黑客还爱“封杀”。
先看服务器端:
- 宝塔用户:左侧「安全」→ 检查放行端口有没有80和443
- SSH用户:运行
iptables -L -n | grep :80,确认没DROP规则 - 用阿里云/腾讯云/华为云?必须进控制台→「安全组」→ 确保入方向开放80/443端口
再看本地:
- Windows Defender防火墙临时关掉试试
- 各种“电脑管家”“安全卫士”右键托盘图标,选“退出”或“暂停防护”
- 浏览器装了广告拦截插件(如uBlock Origin)?点插件图标,临时禁用它
有次排查一个外贸站,海外用户访问正常,国内部分省份打不开。最后发现是服务器iptables规则里有一条-s 112.0.0.0/8 -j DROP——把整个江苏电信段都拉黑了,纯属手抖多敲了个/8。
代码和插件,最近“动”过哪里?
前面都排除了,那就回到代码本身。别怕,不用懂编程,靠“排除法”就能锁死。
回忆一下:
✅ 上次更新WordPress/Typecho/Discuz核心没?
✅ 换过主题或装了新插件?
✅ 改过functions.php、.htaccess、nginx.conf?
✅ 在后台点了“启用某个功能”或“保存设置”之后出的问题?
操作很简单:
- 用FTP或宝塔文件管理器,进入插件目录(如WordPress的
wp-content/plugins/) - 把最新安装或更新过的插件文件夹重命名(比如
woocommerce→woocommerce_off) - 刷新网站,能打开?说明就是它。不能?继续下一个。
如果连后台都进不去,直接用FTP把整个wp-content/themes/下的非默认主题删掉,强制切回默认主题;或者把wp-content/plugins/整个重命名为plugins_off,让所有插件失效——网站通常就能恢复。
⚠️ 动手前一定备份!宝塔里点“备份”按钮,或者FTP下载整个wp-content文件夹到本地。
今天下班前,请完成这个操作
打开你正在用的服务器管理面板(宝塔、AMH、或云厂商控制台),做两件事:
运行一次
df -h—— 就在终端里敲进去回车,看最后一行/或/www的Use%。如果超过80%,立刻点开文件管理器,进/var/log/和网站根目录,删掉*.log.*、backup_*、old_*这类明显不用的文件。把你网站的“救命信息”贴在便签纸上,贴在显示器边框:
- 服务器IP + 宝塔/SSH登录地址
- 域名在哪注册的(阿里云?腾讯云?)
- 网站后台地址(比如
yoursite.com/wp-admin)和管理员账号 - FTP账号(用户名+密码+端口)
就这两步。不用写文档,不用建表格,就一张纸。今晚它可能就帮你抢回3小时客户咨询、避免一次老板质问。