Linux 下Nginx日志配置与日志分割

作者 : 开心源码 本文共1260个字,预计阅读时间需要4分钟 发布时间: 2022-05-11 共125人阅读

日志定义: [日志名称不可以重复]

log_format logName format

— 默认的日志格式

log_format combined ….

日志默认参数:

$http_x_forwarded_for # 记录IP地址

$remote_addr # 记录IP地址

$remote_user # 远程用户端名称

$time_local # 访问时间与时区

$request # 请求地址与协议

$status # 请求状态

$body_bytes_sent # 发送给用户端的主体大小

$http_referer # http头中的 referer

$http_user_agent # 用户端浏览器相关信息

访问日志配置【错误日志也相似】

access_log path [buffer=size | off]

path # 日志路径,路径中能包含变量,如: /data/log/$server_name.log 等

# Tips:假如用了变量的路径,则:

# 对路径需要有创立文件的权限

# 不在用 buffer 缓冲

# 对于每一条日志记录,操作都是先打开文件,写入文件,再关闭文件;

# 为提高效率需要用 open_log_file_cache 来设置缓存,默认是关闭的

# open_log_file_cache max=N [inactive=time] [min_uses=N] [valid=time] | off

# max # 最大的缓冲数量

# inactive # 自动删除间隔,默认10s

# min_uses # 在 inactive时间内,假如日志文件用超过被用次数,则记入缓存,默认次数为1

# valid # 检查日志能否存在间隔,默认60s

# off # 禁止用缓存

# 参考: open_log_file_cache max=1000 inactive=20s min_uses=2 valid=1m;

buffer # 日志文件缓冲区大小

off # 关闭日志

日志切割实现:

用shell 脚本实现,思路与例子如下代码:

# 重命名文件

mv /data/log/nginx/access.log /data/log/nginx/access_20170101.log

# 发送【重新打开日志文件】的信息,来重新生成日志文件

kill -USR1 cat `/server/nginx-1.10.1/var/run/nginx.pid`

把此shell脚本增加到 crontab 中,完成

实例代码:cut_nginx_log.sh

#!/bin/bash

#此脚本定时在 00:00 运行

nginx_home='/data/server/nginx/'

logs_path='/data/log/nginx/'

subDir=$(date -d “yesterday” +”%Y%m”)

mkdir -p ${logs_path}${subDir}/

mv ${logs_path}access.log ${subDir}/access_$(date -d “yesterday” +”%Y%m%d”).log

kill -USR1 cat `${nginx_home}/var/run/nginx.pid`

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Linux 下Nginx日志配置与日志分割

发表回复