2013-11-08 08:38:01
来 源
itjs.cn
Nginx
本文介绍Nginx服务器日志文件的配置,希望对于初学Nginx服务器相关的朋友有帮助,更多Nginx安装、配置、报错处理等资源请本站内搜索。。

Nginx的日志文件配置与切割

与Nginx日志有关的命令有2条:

1.log_format用来设置日志的格式;

2.access_log用来指定日志文件的存放路径、格式和缓存大小;

一.用log_format指令设置日志格式

语法:

log_format name format [format ...]

解释:

name:定义格式名称

format:定义格式样式

log_format有一个默认、无须设置的combined日志格式,apache就是用的这个

log_format  access '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" $http_x_forwarded_for';

access_log  /usr/local/webserver/logs/access.log  access;

假设将Nginx服务器作为Web服务器,位于负载均衡设备、squid、Nginx发现代理之后,就不能获取到客户端的真实ip地址了。原因是因为经过了反向代理:由于在客户端和Web服务器之间增加了中间层,因此Web服务器无法直接拿到客户端的IP,通过¥remote_addr变量拿到的将是反向代理服务器的ip地址。但是,反向代理服务器在转发请求的HTTP头部信息中,可以增加X-Forwarde-For信息,用以记录原有客户端IP地址和原来客户端请求的服务器地址

解释:

$remote_addr和$http_x_frowarded_for用于记录IP地址;$1

$remote_user用于记录远程客户端用户名称;

$time_local用于记录访问时间与时区;

$request用于记录请求URL与HTTP协议;

$status用于记录状态;如:成功200、未找到404   $9

$body_bytes_sent用于记录发送给客户端的文件主体内容大小;

$http_referer用户记录是从哪个页面链接访问过来的;

$http_user_agent用于记录客户浏览器信息

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。