开启 nginx 服务器 tengine 日志

Nginx的访问日志可以让我们知晓用户的地址,网站的那些部分最受欢迎,以及用户浏览时间等。Nginx会把每个用户的访问日志记录到指定的日志文件中。

开启nginx服务器tengine日志

日志控制参数

Nginx主要有两个参数来控制
log_format 用来定义记录日志的格式(可以定义多种日志格式,取不同名字即可)
access_log 用来指定日至文件的路径及使用的何种日志格式记录日志

配置日志文件
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log   /www/logs/nginx/access.log main;

开启日志分割切片

说明

nginx日志按天分片是运维的基本要求,不仅可以减小文件大小,方便检索关键数据,也可以定时删除过期的日志。可是nginx和tengine默认并不支持文件分片,因此需要额外处理。
另外,日志分片需要借助 ngx_http_log_module 模块,默认通过yum安装的nginx并不携带此模块,需要额外编译。而tengine默认自带了ngx_http_log_module模块,因此建议使用者直接源码编译tengine即可。

原理

日志分片的原理是利用命名管道。linux下一切皆文件,因此创建命名管道作为linux的访问日志,由第三方程序连接命名管道,获取数据后按时间进行分片。这里的第三方程序既可以是由使用者自己编写的处理程序,也可使用开源的软件,如 cronolog。

配置

1、创建命名管道

mkfifo /www/logs/nginx/access.log

2、启动cronolog

cronolog /www/logs/nginx/access.log.%Y-%m-%d <  /www/logs/nginx/access.log &
cronolog /www/logs/nginx/error.log.%Y-%m-%d < /www/logs/nginx/error.log &

3、重启nginx:nginx -s reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值