在 Debian 系统上,Nginx 的日志通常位于 /var/log/nginx/ 目录下。常见日志文件包括:
/var/log/nginx/access.log/var/log/nginx/error.log如果你的站点使用了虚拟主机(server block),可能还有类似:
/var/log/nginx/example.com.access.log/var/log/nginx/example.com.error.logtail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
tail -n 100 /var/log/nginx/access.log
less /var/log/nginx/access.log
在 less 中:
/关键词 搜索q 退出grep "192.168.1.100" /var/log/nginx/access.log
grep "/api/login" /var/log/nginx/access.log
grep " 404 " /var/log/nginx/access.log
grep -i "error" /var/log/nginx/error.log
grep "POST" /var/log/nginx/access.log | grep "500"
grep "10/Oct/2024" /var/log/nginx/access.log
awk -v d="$(date -d '1 hour ago' '+%d/%b/%Y:%H:%M')" '$4 > "["d' /var/log/nginx/access.log
如果你用的是 systemd 的 Nginx:
journalctl -u nginx
实时查看:
journalctl -u nginx -f
按时间:
journalctl -u nginx --since "2024-10-10 10:00" --until "2024-10-10 12:00"
Debian 默认会启用 logrotate,旧日志可能变成:
access.log.1
access.log.2.gz
查看压缩日志:
zcat /var/log/nginx/access.log.2.gz | grep "error"
awk '{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
如果你有具体想查的内容(如某用户、某接口、某错误码、某时间段),可以告诉我,我可以给你更精确的命令。