Linux笔记(67)——nginx日志文件详解

原创
2016-07-29 08:57:20 614浏览

  • 日志文件格式
  • 日志文件切割
    • 手动切割
    • 自动切割

日志文件格式

打开nginx默认的配置文件nginx.conf

Linux笔记(67)——nginx日志文件详解

我们使用log_format指令来指定日志文件的格式,以$开头的都是变量,这些变量的含义如下:

  1. $remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址;
  2. $remote_user :用来记录客户端用户名称;
  3. $time_local : 用来记录访问时间与时区;
  4. $request : 用来记录请求的url与http协议;
  5. $status : 用来记录请求状态;成功是200,
  6. $body_bytes_s ent :记录发送给客户端文件主体内容大小;
  7. $http_referer :用来记录从那个页面链接访问过来的;
  8. $http_user_agent :记录客户端浏览器的相关信息;

然后我们通过access_log指令来指定日志文件的位置

上图中红框中的变量可以自行定义

如要上述配置起作用,去掉前面的#号

如要关闭日志功能,使用access_log off

日志文件切割

为了便于管理,我们经常要按照时间将日志分开,例如每天一个日志文件,那么该怎么做呢?

手动切割

进入logs目录,将access.log重命名

mv access.log2016-3-4.log

重命名后,nginx就找不到日志文件了,因此我们使用kill命令传一个信号给nginx的主进程,让它重新开启日志

查看官方文档,找到了重开日志的信号

Linux笔记(67)——nginx日志文件详解

使用kill命令

Linux笔记(67)——nginx日志文件详解

那么nginx就重开日志了

自动切割

我们可以将上述操作写成一个脚本,然后使用crontab来定时每天按时执行这个脚本进行日志切割,那么自动切割就完成了。

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了Linux笔记(67)——nginx日志文件详解,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。