一、Nginx的日志类型
当我们查看nginx安装目录下有个logs,包含了三个文件 "access.log 、error.log、nginx.pid"。
access_log:记录每一次http请求的访问状态,用于分析每一次请求和交互,行为进行分析,依赖于log_format实现。
error.log: 记录nginx处理http请求的错误的状态,以及nginx本身服务的运行错误状态,按照不同的级别进行记录。
二、访问日志配置说明
1.日志格式的定义说明
log_format:将nginx中的变量组织在一起,记录到access_log中。
定义语法: log_format name string ……;
其配置位置在http标签内。
Nginx日志格式中默认的参数配置:
log_format main '$remote_addr - $remote_user[$time_local]"$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
其中,log_format为日志格式关键参数,不能改变。
main是为日志格式指定的标签,记录日志时通过这个main标签选择指定的格式。其后所接的所有内容都是可以记录的日志信息。
默认的main格式中具体用了哪些选项来记录日志?
在没有特殊要求的情况下,采用默认的配置即可。
2.记录日志的access_log参数说明
下面是有关access_log参数的官方说明。
access_log path format gzip[=level][buffer=size][flush=time][if=condition];
access_log syslog:server=address[,parameter=value][format[if=condition]];123
默认配置:access_log logs/access.log combined;
放置位置在http、server、location、if in location、limit_except中。
然后在每个虚拟主机里进行配置,使其使用上述格式记录用户访问日志。命令如下:
如果不指定日志格式就会用默认的combined格式记录日志。
接下来进行检查语法,重新加载配置,命令如下:
进行测试访问:
[root@private conf]# ls -l ../logs/access_blog.log
[root@private conf]# tailf -5 ../logs/access_blog.log