博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx高性能服务器安装、配置、运维 (6) —— Nginx日志及日志分割
阅读量:6257 次
发布时间:2019-06-22

本文共 1417 字,大约阅读时间需要 4 分钟。

 

七、Nginx日志及日志分割

 

(1)Nginx日志文件

查看Nginx配置文件:

 

找到access_log,yum安装默认存储在/var/log/nginx目录下,且默认main格式:

 

main格式定义:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

         '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" "$http_x_forwarded_for"';

以上含义:

访问IP  -  访问用户[访问时间]  请求方法(GET/POST)    请求体body长度   referer来源信息

http-user-agent用户代理/蜘蛛   被转发的请求的原始IP

 

查看默认main格式的日志文件:

 

 

(2)Nginx日志分割

 Nginx不同于apache,需要将其日志进行定期切割,不然日志文件的日积月累会越加庞大,导致读取缓慢,为此需要做定时切割任务。

 

 实验性步骤:

a.查看 日志文件位置

 

 b.撰写日志分割脚本

 

 

 脚本代码:

base_path='/var/log/nginx'                    #设定默认日志文件所在目录

log_path=$(date -d yesterday +"%Y%m")             #设定新日志文件目录
day=$(date -d yesterday +"%Y%m%d%H%M")           #设定日期变量 
mkdir -p $base_path/logs/$log_path                #创建日志存放目录(按月)
mv $base_path/access.log $base_path/logs/$log_path/access_$day.log    #移动Nginx默认日志文件并按date变量重命名
kill -USR1 `cat /var/run/nginx.pid`                 #重读日志

 

 c.Crontab 定时执行:

 

 代码:*/1 * * * * sh /var/log/nginx/cutlog.sh           #每分钟执行一次

 

d.每隔1分钟刷新访问服务器,发现自动化脚本已被执行,每分钟生成一个日志文件:

 

 

最终自动化执行脚本代码:

 

base_path='/var/log/nginx'

log_path=$(date -d yesterday +"%Y%m")
day=$(date -d yesterday +"%Y%m%d")
mkdir -p $base_path/logs/$log_path
mv $base_path/access.log $base_path/logs/$log_path/access_$day.log
kill -USR1 `cat /var/run/nginx.pid`

 

01 00 * * * /var/log/nginx/cutlog.sh           #设定每天凌晨0点执行

 

 

 (本文由kayvan编辑发表,内容主要收集于互联网,转载请注明出处:)

 

转载于:https://www.cnblogs.com/kayvan/p/3978785.html

你可能感兴趣的文章
Ubuntu10下MySQL搭建Amoeba系列(文章索引)
查看>>
产生sdp文件供DSS使用
查看>>
《洛克菲勒留给儿子的38封信》 第五封:要有竞争的决心
查看>>
STL vector vs list function comparison:
查看>>
应用服务器和web server 的区别
查看>>
Libevent笔记
查看>>
mycelipse之安装SVN1.6.5(转载)
查看>>
怎样把数据汇到Excel中的心得经验
查看>>
状态键盘完美适应iOS中的键盘高度变化
查看>>
Linux下oracle11g 导入导出操作详细
查看>>
每日英语:When Computer Games May Keep The Brain Nimble
查看>>
Android AsyncTask运作原理和源码分析
查看>>
demos.jquerymobile
查看>>
【Android】解决Android横竖屏切换数据丢失问题的方法
查看>>
spring+mybatis的多源数据库配置实战
查看>>
Oracle 导入外部文件数据库
查看>>
数值压缩存储方法Varint
查看>>
【转】Unity3.5 GameCenter基础教程
查看>>
C#_Profile 配置
查看>>
WCF和ASP.NET Web API在应用上的选择
查看>>