linux_Nginx日志
错误信息日志配置:
日志文件默认:/application/nginx/logs/erroe.log
error_log logs/error.log error;
# 不写默认就有,默认error,这个不要配置成info,数据库错误日志不要配置成info,做反向代理或者web服务,一定不要给info,带来巨大的磁盘IO消耗
Nginx日志变量说明
$remote_addr 记录访问网站的客户端
$http_x_forwarded_for 当前代理服务器时,设置web节点记录客户端地址的配置
$remote_user 远程客户端用户名
$time_local 记录访问时间与时区
$request 用户的http请求起始行信息
$status http状态码,记录请求返回的状态码
$body_bytes_sents 服务器发送给客户端的相应body字节数
$http_referer 记录此次请求是从那个链接访问过来的
$http_user_agent 记录访问客户端信息
# 这些参数,如果没有数据,将默认为 -
在Nginx主配置文件nginx.conf中http模块中写入,long_format字段,添加日志格,定义日志全局格式
log_format main '$remote_addr - $remote_user [$time_local] "$request"' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent "$http_x_forwarded_for"';
然后在每个server中,添加 access_log 字段,为每个单独的server添加访问日志
access_log logs/www_access.log main;
这个access_log 参数最后还可以添加buffer 和 flush参数,格式为:
access_log path format [buffer=size] [flush=time] [if=condition]
# 缓存多大时候写一次日志,或者间隔多长时间写一次日志,if=condition 是固定写法,满足条件的意思,增加IO性能,在高并发的情况下提升网络访问性能
Nginx日志切割
通过 .sh + crond 来进行日志切割,通过rsync进行日志备份,通过find删除180天以前的日志
mkdir /server/scripts -p # 创建一个写脚本的目录,规范
cd /server/scripts/ # 切换到目录下
vim cut_nginx_log.sh # 编辑一个脚本,注意脚本名,规范,见名知意
cd /application/nginx/logs && \ /bin/mv www_access.log www_access_$(date +%F -d '-1day').log && \ /application/nginx/sbin/nginx -s reload && \ find /application/nginx/logs/ -type f -name www_access_*.log -mtime +7|xargs rm -f && \ rsync -avz /application/nginx/logs/ rsync_backup@172.16.1.41::nginxlog --password-file=/etc/rsync.password sh -x cut_nginx_log.sh # 测试
crontab -e # 写入定时任务
00 00 * * * /bin/bash /server/scripts/cut_nginx_log.sh > /dev/null 2>&1 # 备份任务都是晚上凌晨以后,如果有必要,需要进行 --bwlimit= 进行限速,单位为k
linux_Nginx日志的更多相关文章
- .NetCore中的日志(2)集成第三方日志工具
.NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...
- .NetCore中的日志(1)日志组件解析
.NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...
- Logstash实践: 分布式系统的日志监控
文/赵杰 2015.11.04 1. 前言 服务端日志你有多重视? 我们没有日志 有日志,但基本不去控制需要输出的内容 经常微调日志,只输出我们想看和有用的 经常监控日志,一方面帮助日志微调,一方面及 ...
- SQLServer事务同步下如何收缩日志
事务同步是SQLServer做读写分离的一种常用的方式. 随着业务数据的不断增长,数据库积攒了大量的日志,为了腾出硬盘空间,需要对数据库日志进行清理 订阅数据库的日志清理 因为订阅数据库所有的数据都来 ...
- 如何正确使用日志Log
title: 如何正确使用日志Log date: 2015-01-08 12:54:46 categories: [Python] tags: [Python,log] --- 文章首发地址:http ...
- 前端学HTTP之日志记录
前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...
- ASP.NET Core应用中如何记录和查看日志
日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性.我们知道ASP.NET Core使用的是一个极具扩展性的日志系统,该系统由Logger.Logger ...
- .NET Core的日志[5]:利用TraceSource写日志
从微软推出第一个版本的.NET Framework的时候,就在“System.Diagnostics”命名空间中提供了Debug和Trace两个类帮助我们完成针对调试和跟踪信息的日志记录.在.NET ...
- .NET Core的日志[4]:将日志写入EventLog
面向Windows的编程人员应该不会对Event Log感到陌生,以至于很多人提到日志,首先想到的就是EventLog.EventLog不仅仅记录了Windows系统自身针对各种事件的日志,我们的应用 ...
随机推荐
- 10个优秀个android项目,精选|快速开发
1.Android-FilePicker-android图片和文档选择器 项目地址 https://github.com/DroidNinja/Android-FilePicker 2.ViewPag ...
- 用eNSP模拟
eNSP论坛实验示例汇总 http://support.huawei.com/ecommunity/bbs/10168783.html 容易出的问题: 1.输入前是<Huawei>输入sy ...
- Javascript中遍历数组方法的性能对比
Javascript中常见的遍历数组的方法 1.for循环 for(var i = 0; i < arr.length; i++) { // do something. } 2.for循环的改进 ...
- Python进阶内容(六)--- 函数式编程
斐波那契数列(Fibonacci)的递归与非递归实现 费波那契数列由0和1开始,之后的数就由之前的两数相加 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
- Minfilter过滤框架
Minfilter过滤框架 优势 与传统的Sfilter过滤驱动相比,有这样几个优势 1. Minfilter加载顺序更易控制,Sfilter加载是随意的,也就是说它在IO设备栈上的顺序是根据其创建的 ...
- linux下安装ffmpeg
1. 首先安装系统编译环境 yum install -y automake autoconf libtool gcc gcc-c++ #CentOS 2. 编译所需源码包 #yasm:汇编器,新版 ...
- VS如何设置类或函数前不显示引用的数量
问题如下: 取消显示这个引用的步骤: 找到菜单栏: 工具 ---> 选项 ---> 文本编辑器 ---> 所有语言 ---> CodeLens 设置取消启用CodeLens, ...
- 简易安卓APP
简介 现在来分享期末做的安卓大作业--生活百科. 本项目只是单纯的一个大作业,没有考虑实际的需求,所以有设计不合理的地方,请见谅. 这个项目有三大功能(因为是使用了侧边栏所以是可以继续往里面添加功能的 ...
- Java之CountDownLatch ---控制线程执行顺序
一,类介绍 这是java.util.concurrent包里的一个同步辅助类,它有两个主要的常用方法 countDown()方法以及await()方法.在完成一组正在其他线程中执行的操作之前,它允许 ...
- Nginx性能优化技巧(6)
一.编译安装过程优化 1.减小Nginx编译后的文件大小 在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆 ...