返回列表 发布新帖
查看: 104|回复: 2

【分享】Linux 运维中经常会碰到的一些坑

发表于 2025-4-18 09:50:31 | 查看全部 |阅读模式

这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 傲来云 于 2025-4-18 14:33 编辑

平时做 Linux 运维的朋友应该都知道,服务器看着稳定,其实各种小问题随时可能冒出来。有时候服务挂了、有时候资源打满、有时候莫名其妙连不上。
我这边把平时碰到的一些常见问题整理了一下,也顺便写写我是怎么排查的,给大家一个参考,有类似问题也可以对照处理下。
1. 磁盘空间突然满了
现象: 系统开始变卡,日志写不进去,服务开始报错,提示 No space left on device。
这个问题我见得最多的就是日志写太多,尤其是调试模式没关的服务,能把 /var/log 写到爆炸。还有就是缓存、临时文件太多,比如一些脚本或爬虫下载一堆东西没删,还有数据库数据膨胀。

我一般会这么查:
  1. df -h
复制代码
看看到底是哪个目录撑爆了。要是日志特别大,就看看能不能删掉,或者配个 logrotate 让它自己轮转。临时文件在 /tmp,有时候清下也能腾不少空间。

还有一个,就是你删了文件但空间没释放,那有可能是进程还在占着那个文件:
  1. lsof | grep deleted
复制代码
看到有大文件的就重启下对应的服务或者进程,空间就能正常释放了。

2. 服务挂掉或者启动不了
现象: 网站打不开、接口报错、或者某个服务突然不见了。这时候我会先看服务的状态,假设是 nginx:
  1. systemctl status nginx
  2. journalctl -xe | grep nginx
复制代码
看是不是因为配置写错了,或者是某个依赖服务没起来。也可能是端口冲突,用这个看看:
  1. netstat -tulnp | grep 80
复制代码
如果你怀疑是系统内存不足,导致服务被系统杀掉,可以看看是不是 OOM:
  1. dmesg | grep -i kill
复制代码
如果是 OOM,那就得考虑加 swap 或者限制下内存占用了。

服务建议设置成崩溃后自动重启,这样能减少不少人工处理:
  1. # /etc/systemd/system/xxx.service
  2. Restart=always
  3. RestartSec=3
复制代码
这是一个自定义服务的配置文件路径,把 xxx 替换成你的服务名。

3. SSH 连不上服务器
现象: 远程连接不上服务器,提示 timeout 或 connection refused。最常见的原因可能是防火墙设置问题、SSH 配置和系统资源太满导致 sshd 挂了。
如果有控制台权限(比如云服务器控制台或者 IPMI),可以直接进去看看:
  1. systemctl status sshd
复制代码
检查 /etc/ssh/sshd_config 有没有写错,比如端口改了、禁止了密码登录等。可以重新加载一下配置看看:
  1. systemctl restart sshd
复制代码
另外也别忘了看云厂商后台的安全组,很多时候端口被关在那,服务器设置再对也没用。
4. CPU 或内存飙高
现象: 系统特别卡、响应慢,有时候甚至 ssh 都连接不上。用 top 看看当前占用:
  1. top
复制代码
看看是不是某个进程突然开始暴走了,像是某些脚本跑死循环、数据库跑大查询、或者 Java 程序忘了限制内存。
5. 网络有问题,连不上外网
现象: ping 不通、curl 失败,服务请求外部资源失败。先看看是不是 DNS 的问题:
  1. cat /etc/resolv.conf
复制代码
比如这里面没写 8.8.8.8 或者你自己的 DNS,可能就解析不了。

再看下是不是默认路由缺失或者网卡没起来:
  1. ip a
  2. ip route
复制代码
另外别忘了检查云厂商的安全组和防火墙规则。有些厂商默认是关着 80、443 的。
最后总结一下
Linux 运维其实很多问题都是从“细节”开始的。服务没起、磁盘满了、时间不准、网络抽风……看起来都不是大事,但没及时处理就可能造成服务中断,希望对大家有所帮助,有需要补充的也可以留言交流。

评分

参与人数 1奖金 +5 收起 理由
CJ22 + 5 感谢分享

查看全部评分

发表于 2025-4-18 14:04:02 | 查看全部
linux系统中清理日志文件,不建议直接删除。
对于手动清理,echo "" > logfile 或 : > logfile 是快速且可靠的选择,这样不会因为日志文件被占用导致无法及时清理。
 楼主| 发表于 2025-4-18 14:30:33 | 查看全部
本帖最后由 傲来云 于 2025-4-18 14:31 编辑
CJ22 发表于 2025-4-18 14:04
linux系统中清理日志文件,不建议直接删除。
对于手动清理,echo "" > logfile 或 : > logfile 是快速且可 ...

感谢大佬补充!这个方式确实更安全,尤其是在服务还在运行的时候,直接删日志文件可能会导致问题,用 echo "" > logfile 或 : > logfile 的确更稳妥,各位遇到这种情况的时候请按照大佬提供的方法来,大家也可以多多发表自己的意见,一起交流起来。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2025 Suike Tech All Rights Reserved. 随客交流社区 (备案号:津ICP备19010126号) |Processed in 0.122949 second(s), 10 queries , Gzip On, MemCached On.
关灯 在本版发帖返回顶部
快速回复 返回顶部 返回列表