Nginx访问日志可以设置自定义的格式,来满足特定的需求。
示例:
示例1 log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' '$host "$request_uri" $status' '"$http_referer" "$http_user_agent"'; 示例2 log_format main '$remote_addr [$time_local] ' '$host "$request_uri" $status "$request"' '"$http_referer" "$http_user_agent" "$request_time"'; 若不配置log_format或者不在access_log配置中指定log_format,则默认格式为: '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent";
常见变量:
变量 |
说明 |
$time_local |
通用日志格式下的本地时间;(服务器时间) |
$remote_addr |
客户端(用户)IP地址 |
$status |
请求状态码,如200,404,301,302等 |
$body_bytes_sent |
发送给客户端的字节数,不包括响应头的大小 |
$bytes_sent |
发送给客户端的总字节数 |
$request_length |
请求的长度(包括请求行,请求头和请求正文) |
$request_time |
请求处理时间,单位为秒,小数的形式 |
$upstream_addr |
集群轮询地址 |
$upstream_response_time |
指从Nginx向后端(php-cgi)建立连接开始到接受完数据然后关闭连接为止的时间 |
$remote_user |
用来记录客户端用户名称 |
$request |
请求方式(GET或者POST等)+URL(包含$request_method,$host,$request_uri) |
$http_user_agent |
用户浏览器标识 |
$http_host |
请求的url地址(目标url地址)的host |
$host |
等同于$http_host |
$http_referer |
来源页面,即从哪个页面转到本页,如果直接在浏览器输入网址来访问,则referer为空 |
$uri |
请求中的当前URI(不带请求参数,参数位于$args),不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改。 |
$document_uri |
等同于$uri |
$request_uri |
比$uri多了参数,即$uri+$args |
$http_x_forwarded_for |
如果使用了代理,这个参数会记录代理服务器的ip和客户端的ip |
以上是nginx的access_log格式怎么设置的详细内容。更多信息请关注PHP中文网其他相关文章!