Debian 中 Nginx 日志管理方法
一 日志位置与查看
tail -f /var/log/nginx/access.logtail -f /var/log/nginx/error.logjournalctl -u nginx -f二 自定义日志格式与输出路径
http {
log_format custom '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log custom;
error_log /var/log/nginx/error.log;
}
sudo nginx -tsudo systemctl reload nginx三 日志轮转 Logrotate 配置
/var/log/nginx/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 $(cat /var/run/nginx.pid)
fi
endscript
}
sudo logrotate -d /etc/logrotate.confsudo logrotate -f /etc/logrotate.d/nginx四 监控分析与备份
grep "ERROR" /var/log/nginx/error.logawk/grep 组合统计与过滤tar 或 rsync 定期备份 /var/log/nginx/find /var/log/nginx/ -type f -name "access.log.*.gz" -mtime +30 -delete