轻量级web服务器nginx学习(4)———nginx的日志管理(日志切割及日志备份的实现)

1.nginx日志简介

nginx的产生的相关的日志默认是在/usr/local/nginx/logs的目录里面。

在这里插入图片描述

日志文件的介绍
  • access.log该日志文件是用来记录客户在访问该nginx时产生的每一个请求,格式可以自定义,通过访问日志就可以得到用户地域来源跳转来源,使用终端,某个URL访问等相关信息。

  • error.log错误日志,主要是记录客户端访问Nginx错误时产生的日志,格式不支持自定义,通过错误日志。可以得到系统的某个服务或者server的性能瓶颈。因此将错误日志好好利用,可以得到很多有价值的信息。

  • nginx.pid该日志文件主要是用来记录nginx的master进程的pid,当nginx服务启动时,会自动在该目录下生成该进程的pid文件。

注意:日志的开关在Nginx的配置文件nginx.conf文件中设置,产生的日志都是可以选择性关闭的,但是默认是打开的

日志格式
在配置文件中可以查看日志的默认格式

在这里插入图片描述
默认格式的具体意思:

log_format main  ##日志格式
$remote_addr(远程IP)
$remote_user(远程用户)
[$time_local](访问时间) 
$request"(请求方式) '
$status(状态302、404、401、403等)
$body_bytes_sent(请求体 body 长度等)
$http_referer"(referer来源信息)
$http_user_agent(用户代理)" 
$http_x_forwarded_for(被转发的请求的原始IP)"

在这里插入图片描述

2.日志切割与日志备份

需求:nginx的access.log日志会保存所有客户端连接信息,普通网站每天请求量很大,所以要每天切割(可以用nginx自带的reopen)

查看nginx的access.log日志大小

du -sh access.log

在这里插入图片描述
压力测试:

ab -c 1 -n 100000 http://www.westos.org/i  ##1个并发,100000次请求

再次查看日志大小,日志大小明显增大很多

du -sh access.log

在这里插入图片描述
实现:
(1)进行日志分割备份:

mv access.log `date +%F -d -1day`_access.log	##分割日志,保存先前的日志 ;一般日志的备份应该是在00:00时进行,所以保存的日志格式日期应该是-1day 前一天的

(2)生成新的access.log文件

/usr/local/nginx/sbin/nginx -s reopen            ##发现重新生成了一个access.log,新的请求信息会到新日志里

在这里插入图片描述
当用户再次访问时,访问信息又会被记录在access.log文件中
在这里插入图片描述
在这里插入图片描述

(3)日志备份的定时任务
可以把命令写在crontab里,每天执行一次
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值