欢迎来到资源库(www.zyku.net)

Nginx

当前位置:首页 > 服务器教程 > Nginx > 网站日志

nginx access.log 日志调整以及参数详解

时间:2016-03-24|栏目:Nginx|点击:|我要投稿

nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小,通俗的理解就是先用log_format来定义自己想用的日志格式,然后在用access_log定义虚拟主机时或全局日志时在把定义的log_format 跟在后面;其实这个在默认的配置文件中就有的,打开便可以了。如下:

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  logs/access.log  main;
  下面说说这些日志中的变量的含义,其实看名称也能猜出个七八分了。
  $remote_addr / $http_x_forwarded_for 用以记录客户端的ip地址;
  $remote_user  用来记录客户端用户名称;
  $time_local  用来记录访问时间与时区;
  $request  用来记录请求的url与http协议;
  $status  用来记录请求状态,成功是200;
  $body_bytes_sent  记录发送给客户端文件主体内容大小;
  $http_referer  用来记录从那个页面链接访问过来的;
  $http_user_agent  记录客户端浏览器的相关信息;

通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_addr拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址;而事实上在新版本的nginx中,确实默认的是有这么一项的。 x_forwarded_for

用access_log指令日志文件存放路径

用了log_format 指令设置了日志格式之后,需要用access_log指令指定日志文件的存放路径。如下面的例子:

#access_log logs/access.log main;

如果不想启用日志,则使用:

access_log off ;

在定义日志目录中要注意的是,nginx进程设置的用户和组必须有对该路径创建文件的权限,假设nginx的usr指令设置的用户名和用户组都是www,而logs 目录的用户名和组是root,那么日志文件将无法被创建。

(资源库 www.zyku.net)

上一篇:413 Request Entity Too Large 错误的解决方法

栏    目:Nginx

下一篇:nginx去除目录执行PHP的权限

本文标题:nginx access.log 日志调整以及参数详解

本文地址:https://www.zyku.net/nginx/216.html

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务