宝塔如何按日期每天生成一个网站日志文件

admin
admin
admin
374
文章
118
评论
2022年6月28日08:00:00 2 86

宝塔面板默认的会按照nginx.conf的配置生成在/www/wwwlogs目录下面生成一个网站访问日志和一个网站错误日志,每当有新的记录时系统会不断的对这两个文件进行写入操作,但随着访问量的增长,日志文件就会越来越大,少则几个G,多则几十个G,既会影响访问的速度(写入日志时间延长),也会增加查找日志的难度,我们需要定期清理,但最好的方法是将日志文件按照日期每天生成一个。

可以结合品自行之前发布的利用宝塔面板的计划任务功能按周期切割保存日志,参考以下文章:

宝塔站点日志文件过大怎么办?网站日志切割教程

将网站日志文件按照日期每天生成一个可以参照如下办法进行设置:

1. 设变量 $logdate

map $time_iso8601 $logdate {
    '~^(?<ymd>\d{4}-\d{2}-\d{2})' $ymd;
    default    'date-not-found';
}

map 指令是由 ngx_http_map_module 模块提供的,默认情况下安装 nginx 都会安装该模块。

上面这配置文件使用关键字 map 来定义一个变量 $logdate

如果 nginx 内置变量 $time_iso8601 通过正则能匹配到则 获取到 $logdate = $ymd 否则 $logdate = 'date-not-found'

在在宝塔面板nginx管理里修改,将上面代码放到宝塔Nginx配置文件的http块里面:

宝塔如何按日期每天生成一个网站日志文件

当然也可以将下面的日志格式添加进去:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

2. 配置日志文件路径

宝塔面板默认的日志文件生成路径如下:

默认的配置会在服务器的/www/wwwlogs目录下面生成网站访问日志文件和网站错误日志:

access_log  /www/wwwlogs/pinzixing.com.log;
error_log  /www/wwwlogs/pinzixing.com.error.log;

我们需要更改为下面的路径:

access_log /www/wwwlogs/pinzixing.com/access-$logdate.log;
error_log  /www/wwwlogs/pinzixing.com/error.log;

多加了一个网站地址目录,因为wwwlogs这个目录文件比较多,如果服务器上不止一个网站的话文件多了,另外将网站访问日志文件名改为access-$logdate.log

将上述代码复制粘贴到下面的位置:

宝塔面板》网站》设置,找到“配置文件”,将上面的路径粘贴到以下位置,保存即可。

宝塔如何按日期每天生成一个网站日志文件

经过上面修改,宝塔按天生成的日志文件如下图所示:

宝塔如何按日期每天生成一个网站日志文件

经过上述的修改,我们发现网站访问日志是按天生成的,但网站错误日志只有一个文件也比较大,本以为将错误日志文件名按照如下格式更改也会按天生成错误日志,结果事与愿违,但好像哪里有问题,后期品自行再研究研究。

access_log /www/wwwlogs/pinzixing.com/access-$logdate.log;
error_log  /www/wwwlogs/pinzixing.com/error-$logdate.log;
admin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:2   其中:访客  1   博主  1
    • 明月登楼 明月登楼 1

      宝塔的日志分析很不错的!好好利用!