Linux 下Nginx日志配置与日志分割
日志定义: [日志名称不可以重复]
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日志配置与日志分割