Ubuntu journalctl日志查看

2026-07-01 30

服务器出问题时,日志往往比猜测更可靠。网站打不开、服务启动失败、系统异常重启,背后通常都会留下日志记录。Ubuntu 中的 journalctl 可以查看 systemd 管理的系统日志和服务日志,本篇教程重点讲解如何用 journalctl 找到错误原因,而不是盲目重启服务。

一、为什么要学会看 journalctl

服务器出问题时,日志通常比猜测更可靠。网站打不开、服务启动失败、定时任务异常、系统重启,都可能在日志里留下线索。

Ubuntu 使用 systemd 的环境中,journalctl 是查看系统日志和服务日志的重要工具。它能帮助站长快速定位某个服务为什么失败、什么时候重启、最近出现了哪些错误。

如果只看面板提示或浏览器报错,往往只能看到表面现象。真正原因通常还要回到服务器日志里查。

二、查看系统日志的基础命令

查看全部日志:

journalctl

查看最近日志:

journalctl -n 50

实时查看日志:

journalctl -f

-n 50 表示查看最近 50 行,-f 表示持续跟踪新日志。排查正在发生的问题时,实时日志很有用。

可以按时间筛选:

journalctl --since "2026-07-01 10:00:00"

也可以查看最近一小时:

journalctl --since "1 hour ago"

按时间筛选能减少干扰,尤其适合排查刚刚发生的故障。

三、查看某个服务的日志

如果要查看 Nginx 日志:

journalctl -u nginx

查看最近 100 行:

journalctl -u nginx -n 100

实时跟踪某个服务:

journalctl -u nginx -f

服务名称要以服务器实际安装为准。比如 SSH 服务在不同环境中可能显示为 ssh 或其他名称。

四、服务启动失败时怎么用日志定位

服务启动失败时,可以先执行:

systemctl status 服务名

再执行:

journalctl -u 服务名 -n 100

常见日志线索包括:

  1. 配置文件语法错误;
  2. 端口已经被占用;
  3. 文件或目录不存在;
  4. 权限不足;
  5. 依赖服务未启动;
  6. 软件包版本不兼容。

很多错误原因不在最后一行,而在前面几行。例如最后显示启动失败,真正原因可能是更早的一行提示配置文件第几行有问题。

排查时建议看最近 50 到 100 行,而不是只看最后一条。

五、查看系统重启和异常记录

查看本次启动以来的日志:

journalctl -b

查看上一次启动的日志:

journalctl -b -1

如果服务器突然重启,可以查看上一次启动前的日志,判断是否有内存不足、服务崩溃或系统异常。

如果怀疑资源问题,可以结合系统资源检查一起排查。资源查看方法可参考本系列中的“Ubuntu 查看系统资源教程”。

六、日志排查要注意信息安全

日志里可能包含路径、账号、请求参数、IP、错误堆栈等信息。向他人求助时,不要直接把完整日志公开发布。

可以保留关键错误行,隐藏域名、账号、密钥、内部路径和用户数据。服务器日志是排查依据,但也可能包含敏感信息。

七、排查完成后要记录结论

日志看完后,不要只记得“问题修好了”。建议记录:

  1. 故障时间;
  2. 受影响服务;
  3. 日志中的关键错误;
  4. 实际原因;
  5. 处理方法;
  6. 是否需要后续优化。

长期来看,这份记录会变成自己的服务器维护手册。

FAQ

Q1:journalctl 看不到某个服务日志怎么办?

A:先确认服务是否由 systemd 管理,再确认服务名称是否正确。部分软件也会把日志写到独立日志文件中。

Q2:日志太多看不懂怎么办?

A:先按服务名和时间范围筛选,再重点看 error、failed、permission、address already in use 等关键提示。

Q3:可以把日志发给别人帮忙看吗?

A:可以,但要先隐藏账号、密钥、域名、用户数据和内部路径等敏感信息。

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。