直接在nginx配置文件中,配置日志循环,而不需使用logrotate或配置cron任务。需要使用到$time_iso8601 内嵌变量来获取时间。$time_iso8601格式如下:2015-08-07T18:12:02+02:00。然后使用正则表达式来获取所需时间的数据。
按天切割日志,前置条件 ,nginx编译安装时,./configigure --参数不包含without的模块,比如缺少gzib就yum 安装gzlib-devel 。最终编译如果能满足 ./configure --prefix=/***/nginx 。则以下配置肯定不会报错。不然会报unkown directive “if"的错误,让你怀疑人生
if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") { set $year $1; set $month $2; set $day $3; } access_log /data/logs/nginx/www.ttlsa.com-$year-$month-$day-access.log;
这个代码块要放在server{}内。error.log不建议如此使用
对了,日志目录要给与足够的权限。或者直接把nginx的运行用户改为root。
本文来自博客园,作者:^青火^,转载请注明原文链接:https://www.cnblogs.com/haobo56/p/16802739.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术