电脑之家
柔彩主题三 · 更轻盈的阅读体验

服务器端日志怎么看?几招看懂Nginx、Apache和Linux系统日志

发布时间:2026-04-19 23:31:00 阅读:6 次

你刚搭了个网站,用户说打不开,或者后台接口老是502,这时候别急着重装服务——先翻翻服务器日志,往往问题就藏在里面。

日志在哪儿?先找到它

不同服务默认日志路径不一样,常见几个地方:

  • Nginx:通常在 /var/log/nginx/access.log(访问记录)和 /var/log/nginx/error.log(报错信息);
  • Apache:多在 /var/log/apache2/access.log/var/log/apache2/error.log(Ubuntu/Debian)或 /var/log/httpd/access_log(CentOS);
  • 系统级错误:比如SSH登录失败、磁盘满、服务崩溃,查 /var/log/syslog(Debian系)或 /var/log/messages(RHEL/CentOS)。

    怎么看?命令行三板斧够用

    连上服务器后,不用开图形界面,终端里敲几行就能快速定位:

    实时盯住最新请求(比如调试用户访问):

    tail -f /var/log/nginx/access.log

    查最近10条报错(重点看error.log):

    tail -n 10 /var/log/nginx/error.log

    搜关键词,比如“500”、“Connection refused”、“Permission denied”:

    grep "500" /var/log/nginx/error.log | tail -n 5

    日志里到底写了啥?举个真例子

    打开 access.log,一行典型记录长这样:

    192.168.1.100 - - [15/Jul/2024:14:22:33 +0800] "GET /api/user?id=123 HTTP/1.1" 200 342 "https://example.com/dashboard" "Mozilla/5.0 (Macintosh) ..."

    拆开看:
    192.168.1.100 是访问者IP;
    [15/Jul/2024:14:22:33 +0800] 是时间;
    GET /api/user?id=123 是请求地址;
    200 是状态码(正常),如果是 502 就说明后端挂了,404 是路径错了,403 是权限不够;
    • 最后的 342 是返回内容字节数。

    error.log 更关键:直接告诉你哪崩了

    比如看到这行:

    2024/07/15 14:25:11 [crit] 1234#1234: *5 connect() to unix:/run/php/php8.1-fpm.sock failed (2: No such file or directory) while connecting to upstream

    一眼就明白:PHP-FPM 没启动,或者 sock 文件路径配错了。重启服务或检查配置就行。

    小技巧:别硬盯屏幕

    日志一多容易漏,可以边看边过滤:
    • 只看POST请求:grep "POST" /var/log/nginx/access.log
    • 查某个IP的所有行为:grep "203.123.45.67" /var/log/nginx/access.log
    • 统计每小时访问量(按时间戳前13位分组):awk '{print $4}' /var/log/nginx/access.log | cut -d: -f1-2 | sort | uniq -c

    权限不够打不开?试试sudo

    如果提示 Permission denied,别直接退出,加个 sudo 再试:

    sudo tail -n 20 /var/log/nginx/error.log

    大部分日志文件只有root可读,这是正常保护机制。