$uri
请求中的当前URI(不带请求参数参数位于$args
),不同于浏览器传递的$request_uri
的值它可以通过内部重定向,或者使用index指令进行修妀不包括协议和主机名,例如/foo/bar.html
$request_uri
这个变量等于包含一些客户端请求参数的原始URI,它无法修改请查看$uri
更改或重写URI。
也就是说:$request_uri
是原始请求URL$uri
则是经过nginx处理请求后剔除参数的URL,所以会将汉字表现为union。
使用$uri
可以在nginx对URL进行更改或重写但是用于nginx默认日志格式输出可以使用$request_uri
代替,如無特殊业务需求完全可以替换。
nginx默认日志格式中增加了压缩的信息
显示返回302状态码的URL。
Nginx的访问nginx默认日志格式主要由两个參数控制
Nginxnginx默认日志格式格式中默认的参数配置如下:
其中,log_format为nginx默认日志格式格式关键参数不能变。
main是为nginx默认日志格式格式指定的标签记录nginx默认日志格式时通过这个main标签选择指定的格式。其后所接的所有内容都是可以记录的nginx默认日志格式信息具体见表5-5。注意所有的nginx默认日志格式段以空格分隔,一行可以记录多个不同列的意义:
buffer=size为存放访问nginx默认日志格式的缓冲区大小,flush=time为将缓冲区的nginx默认日志格式刷到磁盘的时间gzip[=level]表示压缩级别,[if=condition]表示其他条件一般的场景中,这些参数都无须配置极端优化时才可能会考虑这些参数。
编辑主配置文件 nginx.conf 配置nginx默认日志格式格式如下:
然后在每个虚拟主机里进行配置,使其商用上述格式记录用户访问nginx默认日志格式命令如下:
如果不指定nginx默认日志格式格式就会用默认的combined格式记录nginx默认日志格式。
接下来进行检查语法重新加载配置,命令如下:
进行测试访问查看nginx默认日志格式结果:
再分别使用谷歌和火狐浏览器进行测试访问,分别查看nginx默认日志格式结果:
我们可以将nginx默认日志格式格式和nginx默认日志格式内容做一个比对:
log_format有一个默认的、无须设置的combinednginx默认ㄖ志格式格式设置相当于Apache的combinednginx默认日志格式格式,其具体参数如下:
我现在使用的nginx默认日志格式格式:
当nginx默认日志格式文件中记录的值为"-"時表示为空
access为自定义的nginx默认日志格式格式的名称,使用时引用即可: