1、Nginx日志切割管理
1.1、Nginx切割日志管理的目录在
/etc/logrotate.d/nginx 默认Nginx给做好了,不需要我们自己配置
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
2、Nginx日志格式
2.1、 日志格式的定义
# 日志格式的定义
log_format main '$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 main;
2.2、日志格式允许包含的内置变量
$remote_addr 记录客户端IP地址
$remote_user 记录客户端用户名
$time_local 记录通用的本地时间
$time_iso8601 记录ISO8601标准格式下的本地时间
$request 记录请求的方法以及请求的http协议
$status 记录请求状态码(用于定位错误信息)
$body_bytes_sent 发送给客户端的资源字节数,不包括响应头的大小
$bytes_sent 发送给客户端的总字节数
$msec 日志写入时间。单位为秒,精度是毫秒
$http_referer 记录从哪个页面链接访问过来的
$http_user_agent 记录客户端浏览器相关信息
$http_x_forwarded_for 记录客户端IP地址
$request_length 请求的长度(包括请求行,请求头和请求正文)
$request_time 请求话费的时间,单位为秒,精度毫秒
注意:
1、如果Nginx位于负载均衡器,Nginx反向代理之后,web服务器无法直接获取到 客户端真实的IP地址。
2、$remote_addr 获取的是反向代理的IP地址。反向代理服务器在转发请求的http头信息中。
3、增加X-Forwarded-For 信息,用来记录客户端IP地址和客户端请求的服务器地址。
3、日志分类
Nginx日志存放目录在,/var/log/nginx
分为:
access.log 访问日志
error.log 错误日志
-rw-r-----. 1 nginx adm 0 12月 7 03:26 access.log
-rw-r-----. 1 nginx adm 430 12月 6 18:11 access.log-20211207
-rw-r-----. 1 nginx adm 0 12月 7 03:26 error.log
-rw-r-----. 1 nginx adm 2357 12月 7 03:26 error.log-20211207