Nginx高性能服务器安装、配置、运维 (6) —— Nginx日志及日志分割
七、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编辑发表,内容主要收集于互联网,转载请注明出处:http://www.cnblogs.com/kayvan)
Nginx高性能服务器安装、配置、运维 (6) —— Nginx日志及日志分割的更多相关文章
- Nginx之https配置 - 运维笔记 (http->https强转)
一.Nginx安装(略)安装的时候需要注意加上 --with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块.Nginx安装方法: # ./configu ...
- nginx高性能WEB服务器系列之九--nginx运维故障日常解决方案
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
- 运维开发笔记整理-django日志配置
运维开发笔记整理-django日志配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Django日志 Django使用python内建的logging模块打印日志,Pytho ...
- Nginx高性能服务器安装、配置、运维 (5) —— Nginx虚拟主机配置
六.Nginx虚拟主机配置 建立基于域名的虚拟主机: (1)建立基于域名的虚拟主机配置文件(以abc.com为例): (2)更改虚拟主机配置文件: 更改配置如下(更改部分即可): server { l ...
- Nginx高性能服务器安装、配置、运维 (4) —— Nginx服务、架构及其信号
五.Nginx服务.架构及其信号 (1)Nginx服务的查看 1.netstat -antp 查看Nginx是否在80端口运行: 2.ps aux|grep nginx 查看nginx相关进程: 发现 ...
- Nginx高性能服务器安装、配置、运维 (3) —— Nginx配置详解
四.Nginx 配置详解 YUM方式安装的Nginx默认配置文件放在/etc/nginx目录下,使用Vim编辑/etc/nginx/nginx.conf: ---------------------- ...
- Nginx高性能服务器安装、配置、运维 (2) —— Nginx安装
三.Nginx 安装 使用SecureCRT以Root身份登录阿里云,在安装Nginx前先做好阿里云磁盘挂载 -------------- 挂载磁盘 -------------- 1.df -h #显 ...
- 企业运维实践-Nginx使用geoip2模块并利用MaxMind的GeoIP2数据库实现处理不同国家或城市的访问最佳实践指南
关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 本章目录 目录 0x00 前言 ...
- [运维笔记] Nginx编译安装
yum -y install pcre-devel.x86_64 yum -y install openssl openssl-devel.x86_64 useradd www -s /sbin/no ...
随机推荐
- hdu4323Magic Number(dp)
http://acm.hdu.edu.cn/showproblem.php?pid=4323 去年的多校 编辑距离的变形 暴力居然过了 还想了好久别的方法,想得很头疼 #include <ios ...
- linux 失败无连接 检查电缆吗
将BOOTPROTO=dhcp改成 BOOTPROTO=static 改成手动获取IP的模式 原因: 虚拟机中的Linux目前是默认设成的自动获取IP设置,但你的网络中没有DHCP服务,所以会显示“正 ...
- NuGet -- 使用控制台管理程序包
为什么要使用控制台管理程序包而不使用程序包管理窗口?原因大家都懂,生活压力这么大,一切都只是为了装一波.开个玩笑,当然不只是此原因,在有些情况下,有些操作使用程序包管理窗口不能达到目的,只能使用控制台 ...
- 【转】ubuntu 12.04英文版设置成中文版
原文网址:http://blog.csdn.net/hhbgk/article/details/7958776 适用于ubuntu 12.04英文版的系统,其它版本的设置应该是大同小异的. 进入ubu ...
- JS中的substring和substr函数的区别
1. 在JS中, 函数声明: stringObject.substring(start,stop) start是在原字符串检索的开始位置,stop是检索的终止位置,返回结果中不包括stop所指字符. ...
- 嵌入式linux中使用 DHCP功能描述
嵌入式linux中使用 DHCP功能描述 busybox中udhcpc的默认script脚本地址为#define DEFAULT_SCRIPT CONFIG_UDHCPC_DEFAULT_SCRI ...
- feed4junit 实现junit4框架体系下数据驱动
junit 是一款很好用的测试框架,但是该框架在并行和数据驱动方面没有提供支持,往往我们队这2个需求是很迫切的,不过有需求就会有人去做,有心思的人出现了,feed4junit 出现了,弥补了junit ...
- base64dll
继上次的dll学习后,想开发个软件,连接到百度的云存储服务器,上传文件.发现要算秘钥,在网上找了到了hmac-sha1,base64的源码,发现有些是c++写的,有些是c写的一起写到一个文件里有些麻烦 ...
- Spark的几种运行模式
1.local单机模式,结果xshell可见:./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[1 ...
- Spring笔记(三)AOP前篇之动态代理
AOP思想是将程序中的业务代码与服务代码进行分离,在运行时进行结合.比较强调程序的层次结构,是一种面向切面的编程.而在AOP实现的底层主要用到了动态代理,而动态代理又分为JDK动态代理和CGLIB动态 ...