nginx日志相关

1、与日志格式相关的内置变量

内置变量含义
$remote_addr客户端的IP地址
$remote_user客户端用户名,用于记录浏览者进行身份验证时的名称
$time_local访问的时间与时区
$request请求的URI和http协议
$status请求返回的http状态码
$body_bytes_sent发送给客户端的文件主体内容的大小
$http_referer来路URL地址
$http_user_agent浏览器信息
$http_x_forwarded_for客户端IP地址列表(包括中间经过的代理)

2、设置访问日志内存缓冲区大小以及保存在内存缓冲区的最大时间

access_log logs/access.log mylog buffer=2k flush=5s;

3、若在访问过程中需要记录子请求的日志记录,则需将log_subrequest设置为on

4、关闭日志
关闭访问日志

access_log off;

关闭错误日志

error_log /dev/null;

5、日志文件切割
nginx的日志默认存储在access.log当中,全部日志存储在一个文件中自然是不方便用于运维和分析的,所以需要根据时间来进行日志文件切割,每天将前一天的日志按照时间来命名,保证不同时间的日志分开存放。为了偷懒,自然是采用定时任务的形式来操作了,具体过程如下: 首先是编写重命名的脚本文件/usr/local/nginx/autolog.sh

#!/bin/bash
#当前日志存放目录
logs_path="/usr/local/nginx/logs"
#备份日志文件
mv $logs_path/access.log $logs_path/access`date +"%Y%m%d"`.log
mv $logs_path/error.log $logs_path/error`date +"%Y%m%d"`.log
#重新打开nginx日志
/usr/local/nginx/sbin/nginx -s reopen

然后设置定时任务

crontab -e
0 0 * * * /usr/local/nginx/autolog.sh >/dev/null 2>&1

crontab -e 编辑页面参数说明

参数说明
第1个参数分钟,0~59
第2个参数小时,0~23
第3个参数日,1~31
第4个参数月,1~12
第5个参数星期,0~6,0代表星期天
第6个参数要运行的命令

>/dev/null 2>&1表示丢弃错误的信息,如果不写这个话,当脚本运行错误的时候,系统会将错误信息以邮件形式发给用户或者保存为/var/spool/mail/root文件。

转载于:https://my.oschina.net/u/4108765/blog/3067849

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值