在Linux系统中,Nginx的日志管理主要包括查看、分析、配置日志文件以及日志轮转等操作。以下是详细的步骤和说明:
nginx.conf中定义,默认的访问日志位置是/var/log/nginx/access.log,错误日志位置是/var/log/nginx/error.log。cat、tail -f等查看日志文件内容。例如,tail -f /var/log/nginx/access.log可以实时查看访问日志。grep、awk、cut等工具对日志进行过滤和处理。例如,grep '404' /var/log/nginx/access.log可以搜索所有返回404状态码的请求。http或server块中,使用access_log指令配置日志路径和格式。例如:access_log /var/log/nginx/access.log main;。error_log指令配置错误日志的路径和级别。例如:error_log /var/log/nginx/error.log warn;。/etc/logrotate.d/nginx文件中。/var/log/nginx/*.log { daily # 每天轮转一次 missingok # 如果日志文件不存在,不报错 rotate 7 # 保留7天的日志文件 compress # 轮转后的日志文件会被压缩 delaycompress # 延迟压缩,以便当前日志文件在轮转后被压缩 notifempty # 如果日志文件为空,则不进行轮转 create 0640 nginx nginx # 新的日志文件权限和属主 postrotate /bin/kill -USR1 `cat /var/run/nginx.pid` # 通知Nginx重新打开日志文件 endscript } logrotate -f /etc/logrotate.d/nginx命令手动触发日志轮转。awk和uniq命令统计每分钟的请求数。例如:awk '{print $4}' /var/log/nginx/access.log | cut -d: -f1-2 | uniq -c。grep查找特定IP的请求记录。例如:grep "101.68.34.182" /var/log/nginx/access.log。awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head。通过以上步骤,可以有效地在Linux系统中管理Nginx的日志,确保服务器的稳定性和安全性。