news 2026/8/29 4:10:17

网站突然打不开怎么办?一套通用的 Linux Web 服务排错流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
网站突然打不开怎么办?一套通用的 Linux Web 服务排错流程

网站突然打不开时,最忌讳的就是一上来重启所有服务。

更有效的做法是按顺序排查:域名 → 网络 → Nginx → 后端 → 数据库 → 系统资源。这样基本能很快定位问题在哪一层。

1. 先确认是不是域名问题

先测试域名是否还能正常解析:

ping example.com

或者:

nslookup example.com

如果域名解析到了错误 IP,或者根本解析不到,就先检查 DNS。

如果域名解析正常,再直接测试服务器 IP。


2. 检查服务器还能不能连接

尝试 SSH:

ssh root@服务器IP

如果 SSH 也连接不上,问题可能已经不是网站本身,而是:

服务器宕机 网络故障 安全组限制 防火墙配置错误 云服务器被暂停

如果 SSH 正常,就继续往下查。


3. 检查 80 和 443 端口

执行:

ss -lntp | grep -E '80|443'

正常情况下应该能看到 Nginx 或其他 Web 服务监听:

0.0.0.0:80 0.0.0.0:443

如果完全没有监听,优先检查 Nginx。


4. 检查 Nginx 是否正常

查看状态:

systemctl status nginx

如果显示:

failed inactive

先检查配置:

nginx -t

配置没问题再启动:

systemctl restart nginx

如果启动失败,直接看日志:

tail -n 100 /var/log/nginx/error.log

5. 在服务器本机测试网站

可以绕过公网直接访问 Nginx:

curl -I http://127.0.0.1

如果是多域名服务器,可以指定 Host:

curl -I -H "Host: example.com" http://127.0.0.1

如果本机访问正常,但公网打不开,通常要检查:

防火墙 安全组 DNS CDN 公网网络

6. 出现 502 时检查后端

如果页面直接显示:

502 Bad Gateway

通常意味着 Nginx 正常,但后端服务挂了。

假设后端使用 3000 端口:

ss -lntp | grep 3000

然后测试:

curl http://127.0.0.1:3000

如果连接失败,就检查对应服务:

systemctl status myapp

查看日志:

journalctl -u myapp -n 100

7. 检查数据库是否异常

有些网站首页能打开,但登录、订单、接口全部报错,这时候要考虑数据库。

例如 MySQL:

systemctl status mysql

或者:

systemctl status mariadb

如果数据库本身正常,还要检查应用日志里有没有:

Connection refused Too many connections Access denied Connection timeout

很多所谓“网站挂了”,实际上是数据库连接失败。


8. 检查磁盘是不是满了

这是非常容易忽略的问题。

执行:

df -h

如果看到:

/dev/sda1 100%

说明磁盘已经满了。

磁盘满以后可能出现:

日志无法写入 数据库异常 应用无法创建临时文件 服务启动失败

继续检查:

du -sh /var/log/*

很多时候都是日志文件长期没有清理。


9. 检查内存和 CPU

执行:

free -h

查看内存。

再执行:

top

如果某个进程 CPU 长时间 100%,或者内存基本耗尽,就可能导致网站无响应。

还可以检查是否发生 OOM:

dmesg | grep -i oom

如果程序因为内存不足被系统杀掉,这里通常能看到记录。


10. 查看最近有没有修改配置

如果网站之前一直正常,刚修改完配置就打不开,优先回忆最近做过什么:

修改 Nginx 更新代码 修改环境变量 升级 Node.js 更新数据库 修改防火墙 更换证书

很多故障都和最近一次变更有关。

不要一开始就怀疑服务器环境,先检查最近改过的东西往往更快。

一套常用排查顺序

遇到网站打不开,我一般依次执行:

ping 域名
ss -lntp
systemctl status nginx
nginx -t
curl -I http://127.0.0.1

然后再检查:

systemctl status 后端服务 df -h free -h top

如果是 502,就重点查后端;如果 SSH 都连不上,就先查服务器和网络;如果本机正常但公网异常,就查 DNS、防火墙和 CDN。

网站故障看起来复杂,但只要按层排查,基本都能缩小范围。比起不停重启服务,先判断到底是哪一层出了问题,通常效率更高。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 4:09:17

16个Python游戏项目合集:从Pygame到数据库的实战进阶指南

在实际的 Python 学习过程中,最让人难受的阶段往往不是语法不会,而是语法看懂了、练习题也做了,却不知道自己能做出什么。大批 GitHub 上开源的 Python 游戏项目合集,正好补上这一块空缺:因为它提供的是 16 个可以直接…

作者头像 李华
网站建设 2026/8/29 4:07:03

竞争学习与自组织映射(SOM)在数学建模中的应用与实战

1. 项目概述:从“黑箱”到“可解释”的竞争学习在数学建模的赛场上,我们常常会遇到一类让人又爱又恨的问题:给你一堆数据,让你去分类、去预测、去发现规律。传统的分类算法,比如支持向量机、决策树,固然强大…

作者头像 李华
网站建设 2026/8/29 4:06:37

Python零基础到就业完整学习路线:从语法到项目实战

过去几年我接触了不少刚入门的同学,大家问得最多的不是“怎么学 Python”,而是“我该从哪开始学”“学多久能写项目”“报错看不懂怎么办”。Python 确实是一门非常适合零基础入门的语言,但网上的学习资料太杂,今天这套软件、明天…

作者头像 李华
网站建设 2026/8/29 4:04:37

用Python写了个脚本,把每天2小时的Excel活儿干没了

这不是教程,是一个普通打工人的生存记录上周, 同事瞧见我, 在30秒的时间里, 生成了月度销售报表, 便询问我, 是不是使用了什么付费软件。我打开终端,敲了三行代码:bashcd ~/.py# 生成完成!文件已保存到://.xlsx同事愣住…

作者头像 李华
网站建设 2026/8/29 4:04:30

车载通信防火墙怎么测?从 CAN 网关过滤到车载以太网访问控制

摘要:车载防火墙测试不是简单验证“某个报文能不能通过”。CAN/CAN FD、以太网交换芯片和 Linux 网络栈看到的报文不同,规则匹配条件也不同。要把测试做扎实,需要先找准执行点,再从通信矩阵提取允许关系,最后用入口报文、规则命中、出口报文和目标服务组成完整证据链。本文…

作者头像 李华
网站建设 2026/8/29 4:04:25

编写的python如何打开

欲开启并运转程序, 你得保证在计算机里已装上解释器,有通过命令行、集成开发环境(即IDE)、或脚本文件径直运行代码三种途径, 接下来我会详尽阐释怎样借由这几种办法开启并运转程序。一、通过命令行运行在Mac操作系统里, 或者Linux操作系统之中…

作者头像 李华