这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 傲来云 于 2025-4-18 14:33 编辑
平时做 Linux 运维的朋友应该都知道,服务器看着稳定,其实各种小问题随时可能冒出来。有时候服务挂了、有时候资源打满、有时候莫名其妙连不上。 我这边把平时碰到的一些常见问题整理了一下,也顺便写写我是怎么排查的,给大家一个参考,有类似问题也可以对照处理下。 1. 磁盘空间突然满了
现象: 系统开始变卡,日志写不进去,服务开始报错,提示 No space left on device。 这个问题我见得最多的就是日志写太多,尤其是调试模式没关的服务,能把 /var/log 写到爆炸。还有就是缓存、临时文件太多,比如一些脚本或爬虫下载一堆东西没删,还有数据库数据膨胀。
我一般会这么查: 看看到底是哪个目录撑爆了。要是日志特别大,就看看能不能删掉,或者配个 logrotate 让它自己轮转。临时文件在 /tmp,有时候清下也能腾不少空间。
还有一个,就是你删了文件但空间没释放,那有可能是进程还在占着那个文件: 看到有大文件的就重启下对应的服务或者进程,空间就能正常释放了。
2. 服务挂掉或者启动不了
现象: 网站打不开、接口报错、或者某个服务突然不见了。这时候我会先看服务的状态,假设是 nginx: - systemctl status nginx
- journalctl -xe | grep nginx
复制代码看是不是因为配置写错了,或者是某个依赖服务没起来。也可能是端口冲突,用这个看看: 如果你怀疑是系统内存不足,导致服务被系统杀掉,可以看看是不是 OOM: 如果是 OOM,那就得考虑加 swap 或者限制下内存占用了。
服务建议设置成崩溃后自动重启,这样能减少不少人工处理: - # /etc/systemd/system/xxx.service
- Restart=always
- RestartSec=3
复制代码 这是一个自定义服务的配置文件路径,把 xxx 替换成你的服务名。
3. SSH 连不上服务器
现象: 远程连接不上服务器,提示 timeout 或 connection refused。最常见的原因可能是防火墙设置问题、SSH 配置和系统资源太满导致 sshd 挂了。 如果有控制台权限(比如云服务器控制台或者 IPMI),可以直接进去看看: 检查 /etc/ssh/sshd_config 有没有写错,比如端口改了、禁止了密码登录等。可以重新加载一下配置看看: 另外也别忘了看云厂商后台的安全组,很多时候端口被关在那,服务器设置再对也没用。 4. CPU 或内存飙高
现象: 系统特别卡、响应慢,有时候甚至 ssh 都连接不上。用 top 看看当前占用: 看看是不是某个进程突然开始暴走了,像是某些脚本跑死循环、数据库跑大查询、或者 Java 程序忘了限制内存。 5. 网络有问题,连不上外网现象: ping 不通、curl 失败,服务请求外部资源失败。先看看是不是 DNS 的问题: 比如这里面没写 8.8.8.8 或者你自己的 DNS,可能就解析不了。
再看下是不是默认路由缺失或者网卡没起来: 另外别忘了检查云厂商的安全组和防火墙规则。有些厂商默认是关着 80、443 的。 最后总结一下Linux 运维其实很多问题都是从“细节”开始的。服务没起、磁盘满了、时间不准、网络抽风……看起来都不是大事,但没及时处理就可能造成服务中断,希望对大家有所帮助,有需要补充的也可以留言交流。 |