热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

:本篇文章主要介绍了Linux笔记(67)——nginx日志文件详解,对于PHP教程有兴趣的同学可以参考一下。
  • 日志文件格式
  • 日志文件切割
    • 手动切割
    • 自动切割

日志文件格式

打开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教程有兴趣的朋友有所帮助。

  • 推荐阅读
    author-avatar
    手机用户2502939901
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有