欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2024-04-05 15:29:06
...
  • 日志文件格式
  • 日志文件切割
    • 手动切割
    • 自动切割

日志文件格式

打开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 ').text(i)); }; $numbering.fadeIn(1700); }); });

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