【说站】宝塔如何按日期每天生成一个网站日志文件
宝塔面板默认的会按照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/10zhan.com.log;
error_log /www/wwwlogs/10zhan.com.error.log;
我们需要更改为下面的路径:
access_log /www/wwwlogs/10zhan.com/access-$logdate.log;
error_log /www/wwwlogs/10zhan.com/error.log;
多加了一个网站地址目录,因为wwwlogs这个目录文件比较多,如果服务器上不止一个网站的话文件多了,另外将网站访问日志文件名改为access-$logdate.log
将上述代码复制粘贴到下面的位置:
宝塔面板》网站》设置,找到“配置文件”,将上面的路径粘贴到以下位置,保存即可。
经过上面修改,宝塔按天生成的日志文件如下图所示:
经过上述的修改,我们发现网站访问日志是按天生成的,但网站错误日志只有一个文件也比较大,本以为将错误日志文件名按照如下格式更改也会按天生成错误日志,结果事与愿违,但好像哪里有问题,后期品自行再研究研究。
access_log /www/wwwlogs/10zhan.com/access-$logdate.log;
error_log /www/wwwlogs/10zhan.com/error-$logdate.log;
收藏 | 0点赞 | 0打赏
相关文章
- JavaScript 下载文件并保持原文件名称
- SSH集群登录、文件同步分发、同步执行脚本
- 【一站式解惑】Linux中.a、.so和.o文件以及-I,-L,LIBRARY_PATH,LD_LIBRARY_PATH等
- VScode 给python文件添加作者、日期、描述等信息
- PNG文件解读(2):PNG格式文件结构与数据结构解读—解码PNG数据
- Linux快速拷贝大文件的技巧(linux拷贝大文件)
- 命名Linux下创建文件日期命名法(linux创建文件以日期)
- 如何取得用户参数文件中的parameters-[BAPI_USER_GET_DETAIL]详解编程语言
- Linux 中按日期排序文件的方法(linux文件日期排序)
- 文件Linux删除SWP文件的简单方法(linux删除swp)
- Linux文件基本属性
- Linux如何修改文件日期(linux修改文件日期)
- 理解Linux.so.2:保障Linux系统稳定性的重要库文件(linux.so.2)
- Linux如何创建日期目录,让文件归档更加方便?(linux创建日期目录)
- 内字符替换Oracle大文件内字符快速替换法(oracle大文件)
- php使用fgetcsv读取csv文件出现乱码的解决方法