Linux 新手必会的 5 个排查命令:从“服务起不来”到定位问题
刚接触 Linux 服务器时,最常遇到的情况就是“服务启动了但访问不了”。与其到处搜索,不如先掌握一套固定的排查顺序。下面这 5 个命令,基本能覆盖八成的日常问题。
一、systemctl status:先看服务本身
执行 systemctl status nginx,重点看三处:Active 一行是 active (running) 还是 failed;最近几行日志有没有报错;Main PID 是否存在。如果是 failed,直接进入下一步看详细日志。
二、journalctl:看完整日志
journalctl -u nginx -n 50 --no-pager 可以查看该服务最近 50 行日志。加上 -f 可以实时跟踪。很多问题(配置文件语法错误、权限不足、依赖文件缺失)在这里一眼就能看出来。
三、ss:确认端口真的在监听
ss -tlnp 会列出所有 TCP 监听端口以及对应进程。如果服务显示在运行,但端口不在列表里,说明它可能监听在了别的端口,或者只绑定了 127.0.0.1,外部自然访问不到。
四、curl:从本机先测一遍
curl -I http://127.0.0.1:80 能快速判断服务本身是否正常响应。本机能通、外部不通,问题通常在防火墙或云服务器的安全组;本机也不通,问题就在服务或配置本身。
五、df 与 free:别忽略资源
df -h 看磁盘,free -h 看内存。磁盘写满会导致日志无法写入、数据库启动失败;内存不足则可能让进程被系统直接杀掉,在 journalctl 里会看到 OOM 相关字样。
小结
排查顺序可以记成一句话:先看状态,再看日志,确认端口,本机自测,最后查资源。养成这个习惯之后,遇到问题时就不会手忙脚乱。对于部署在云服务器上的应用,还要额外记得检查安全组规则是否放行了对应端口,这是新手最容易漏掉的一步。
- 点赞
- 收藏
- 关注作者
评论(0)