查看 Nginx 日志主要分两种情况:访问日志(access.log) 和 错误日志(error.log),下面按常见场景给你一个完整说明。
/var/log/nginx/access.log
/var/log/nginx/error.log
查看 nginx.conf 中的日志路径:
nginx -V 2>&1 | grep -o 'conf-path=\S*'
或直接查看配置:
grep -R "access_log\|error_log" /etc/nginx/
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
Ctrl + C停止
tail -n 100 /var/log/nginx/access.log
grep " 500 " /var/log/nginx/access.log
grep "1.2.3.4" /var/log/nginx/access.log
grep "/api/login" /var/log/nginx/access.log
grep "$(date +%d/%b/%Y)" /var/log/nginx/access.log
awk '$4 >= "[10:00:00" && $4 <= "[11:00:00"' /var/log/nginx/access.log
tail -n 50 /var/log/nginx/error.log
[error][warn][crit]很多服务器日志是 按天切割 的:
ls /var/log/nginx/
你可能会看到:
access.log
access.log.1
access.log.2.gz
查看历史日志:
zcat /var/log/nginx/access.log.2.gz | less
nginx -t
如果配置错误,日志可能不写入。
tail -f /var/log/nginx/error.log
常见提示:
connect() failedupstream prematurely closed connectionawk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head
如果你愿意,可以把 具体报错信息、系统版本(CentOS / Ubuntu)、访问日志格式 发给我,我可以帮你精准分析 Nginx 问题。