Ubuntu 上 Nginx 日志查看与排查指南
一 日志位置与类型
二 快速查看与检索
sudo tail -f /var/log/nginx/access.log、sudo tail -f /var/log/nginx/error.logjournalctl -u nginx --since "2025-12-09 00:00:00" --until "2025-12-09 12:00:00"journalctl -u nginx -p err(仅显示错误级别)grep "404" /var/log/nginx/access.log、grep -i "permission denied" /var/log/nginx/error.logtail -f 可实时跟踪新增日志journalctl -u nginx 可查看由 systemd 管理的 Nginx 服务日志(适合排查启动失败、重启等)三 多站点与自定义日志路径
http {
access_log /var/log/nginx/access.log;
server {
listen 80;
server_name example.com;
access_log /var/log/nginx/example.access.log;
...
}
}
sudo nginx -tsudo systemctl reload nginxaccess_log,将沿用 http 层级或默认路径四 日志分析与可视化
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -20awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -nrsudo apt install -y goaccessgoaccess /var/log/nginx/access.log --log-format=COMBINED -o /var/www/html/report.htmlgoaccess /var/log/nginx/access.log --log-format=COMBINED --real-time-html --port=7890 -o /var/www/html/realtime.htmlsudo apt install -y lnav && lnav /var/log/nginx/sudo apt install -y ngxtop五 日志轮转与常见问题排查
sudo nginx -tsudo systemctl status nginxsudo ss -tulnp | grep ':80\|:443'journalctl -u nginx 的时间点与错误级别