运维万能模版:一套思路带你解决 90% 的 Linux 故障
别慌,Linux 服务器出故障时,90% 的情况都可以用同一套排查思路搞定。这套模版我用了十年,从 VPS 到 IDC 机房都能套用。今天主机选这篇 Linux 教程直接给你拆开讲清楚,省得你抓瞎。

故障排查第一步:定位现象,别瞎猜
很多新手一遇到服务器连不上,就跑去重装系统。别急,先搞清楚故障是什么。是 SSH 连不上?网站打不开?还是进程卡死?每个现象的排查路径不同。
用 `systemctl` 检查服务状态
先看服务是不是活着。比如 Nginx 挂了,你查日志前得先确认它有没有跑。
systemctl status nginx
看 Active 字段,是 running 还是 failed
如果显示 `inactive (dead)`,直接启动:
systemctl start nginx
查系统资源是否被耗尽
CPU、内存、磁盘满了一样会引发诡异故障。用 `top` 和 `df` 扫一眼。
top -bn1 | head -5
看 %Cpu(s) 和 MiB Mem 使用率
df -h
看根分区 / 是否超过 90%
老手才知道的坑:磁盘 inode 满了但 df 显示还有空间。用 `df -i` 检查 inode,否则你连文件都创建不了。
第二步:翻日志,日志就是你的救命稻草
日志是 Linux 运维里最直接的证据。别凭感觉猜,直接看日志。
系统日志 `/var/log/messages`
通用问题都先查这里,比如内核报错、服务崩溃。
tail -100 /var/log/messages
看最后100行,找 error 或 fail 关键字
应用日志 `/var/log/nginx/error.log`
如果网站 502 了,直接看 Nginx 日志。
tail -f /var/log/nginx/error.log
实时输出,按 Ctrl+C 退出
万一报错 `Permission denied`,检查日志文件权限:
ls -l /var/log/nginx/error.log
确保 nginx 用户有读权限
第三步:网络排查,别让防火墙背锅
很多故障其实是网络层面引起的,比如端口没放行、DNS 解析错误。
用 `ss` 检查端口监听
确认服务确实在监听你想要的端口。
ss -tlnp | grep 80
看 LISTEN 状态,显示 :80
如果没有输出,说明 Nginx 根本没绑定端口。重启服务或检查配置。
防火墙规则检查
iptables 或 firewalld 都可能导致端口不通。
iptables -L -n –line-numbers
看 INPUT 链里有没有 ACCEPT 规则
如果发现端口被 DROP,添加放行:
iptables -I INPUT -p tcp –dport 80 -j ACCEPT
插入到第一条,立即生效
老鸟叮嘱:永远别在生产环境直接改配置
修改配置文件前,先备份。用 `cp` 加个时间戳:
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak.20231001
然后测试配置再重载:
nginx -t
测试语法,显示 successful 再继续
systemctl reload nginx
万一改坏了,还能秒级回滚。
FAQ:真实排查问题集
Q1: Linux SSH 连不上怎么办?
A: 先检查服务器是否开机(ping 通不通),再用 `systemctl status sshd` 看服务状态。如果服务挂了,用 `systemctl restart sshd` 重启。防火墙没放行 22 端口也会导致连不上,用 `iptables -L` 确认。
Q2: VPS 防火墙端口放行后还是访问不了是什么原因?
A: 最常见的原因有两个:一是服务本身没绑定正确 IP(比如只监听 127.0.0.1),用 `ss -tlnp` 检查监听地址;二是云平台的安全组规则没同步,去控制台确认。
Q3: Linux 小白可以直接用 root 账号操作吗?
A: 不建议。root 权限太大,一个 `rm -rf /` 就能毁掉整个系统。建议用普通用户加 `sudo`,或者用 `su -` 临时切换。实在要用 root,务必在操作前备份。
Q4: BBR 开启后为什么速度没有明显提升?
A: BBR 只对高延迟、丢包的网络环境有显著效果。如果你的服务器带宽本身就低,或者客户端网络不好,BBR 也救不了。另外,确认内核版本是否支持(4.9+),用 `uname -r` 检查。
Q5: 磁盘空间满了但 `df -h` 显示正常,是什么情况?
A: 检查 inode 是否耗尽:`df -i`。如果 inode 使用率 100%,说明小文件太多。用 `find / -xdev -type f | wc -l` 统计文件数,再清理临时目录。
Q6: 服务器重启后服务没自动启动,怎么解决?
A: 用 `systemctl enable` 开启自启。例如 Nginx:`systemctl enable nginx`。然后检查服务状态:`systemctl is-enabled nginx`。
—
—
**相关阅读:**
– [VPS 部署 AI 工具需要哪些基础?Linux、Docker、Nginx 和域名配置入门](https://www.zhujixuan.com/jishujiaocheng/9747.html)
– [AI 自动整理服务器日志:Nginx、SSH、安全日志分析流程](https://www.zhujixuan.com/jishujiaocheng/9908.html)
– [VPS 部署 AI 工具学习路线:从 Linux 基础到 AI Agent 实战](https://www.zhujixuan.com/jishujiaocheng/9765.html)
转载请注明出处:https://www.zhujixuan.com/jishujiaocheng/9566.html 商家投稿邮箱:zhujixuanblog@qq.com
