错误信息日志配置:

  日志文件默认:/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日志的更多相关文章

  1. .NetCore中的日志(2)集成第三方日志工具

    .NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...

  2. .NetCore中的日志(1)日志组件解析

    .NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...

  3. Logstash实践: 分布式系统的日志监控

    文/赵杰 2015.11.04 1. 前言 服务端日志你有多重视? 我们没有日志 有日志,但基本不去控制需要输出的内容 经常微调日志,只输出我们想看和有用的 经常监控日志,一方面帮助日志微调,一方面及 ...

  4. SQLServer事务同步下如何收缩日志

    事务同步是SQLServer做读写分离的一种常用的方式. 随着业务数据的不断增长,数据库积攒了大量的日志,为了腾出硬盘空间,需要对数据库日志进行清理 订阅数据库的日志清理 因为订阅数据库所有的数据都来 ...

  5. 如何正确使用日志Log

    title: 如何正确使用日志Log date: 2015-01-08 12:54:46 categories: [Python] tags: [Python,log] --- 文章首发地址:http ...

  6. 前端学HTTP之日志记录

    前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...

  7. ASP.NET Core应用中如何记录和查看日志

    日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性.我们知道ASP.NET Core使用的是一个极具扩展性的日志系统,该系统由Logger.Logger ...

  8. .NET Core的日志[5]:利用TraceSource写日志

    从微软推出第一个版本的.NET Framework的时候,就在“System.Diagnostics”命名空间中提供了Debug和Trace两个类帮助我们完成针对调试和跟踪信息的日志记录.在.NET ...

  9. .NET Core的日志[4]:将日志写入EventLog

    面向Windows的编程人员应该不会对Event Log感到陌生,以至于很多人提到日志,首先想到的就是EventLog.EventLog不仅仅记录了Windows系统自身针对各种事件的日志,我们的应用 ...

随机推荐

  1. 代码审计之XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)

    0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...

  2. Windows内核中的内存管理

    内存管理的要点 内核内存是在虚拟地址空间的高2GB位置,且由所有进程所共享,进程进行切换时改变的只是进程的用户分区的内存 驱动程序就像一个特殊的DLL,这个DLL被加载到内核的地址空间中,Driver ...

  3. 从Unity中的Attribute到AOP(二)

    上一篇文章我们初步了解了一下Attributes的含义,并且使用系统自带的Attributes写了点代码.在进一步解剖我们的代码之前,我觉得有个概念可能需要巩固一下:什么是元数据? 我们知道C#代码会 ...

  4. Django_'utf-8' codec can't decode 问题解决

    最近用vs2017新建django模板项目时,页面输入中文时导致编码错误,如下图: 几经排查,原来是对应的html文件保存的编码错误,重新用utf-8保存即可

  5. EMMC与nand flash的区别【转】

    1.NAND Flash 是一种存储介质,要在上面读写数据,外部要加主控和电路设计. 2.eMMC是NAND flash+主控IC ,对外的接口协议与SD.TF卡类似:对厂家而言简化了电路设计,降低了 ...

  6. zookeeper之分布式锁以及分布式计数器(通过curator框架实现)

    有人可能会问zookeeper我知道,但是curator是什么呢? 其实curator是apachede针对zookeeper开发的一个api框架是apache的顶级项目 他与zookeeper原生a ...

  7. python实现快速排序

    最近在公司的工作内容发生变化,短期内工作量变少了,这也让我有时间整理一些日常学习和工作中的收获或思路.所以申请了博客,并打算持续更新. 快速排序采用了分治的思想,基本思想是选取数组中一个数为基准数(一 ...

  8. Codeforces Round #415 (Div. 2)(A,暴力,B,贪心,排序)

    A. Straight «A» time limit per test:1 second memory limit per test:256 megabytes input:standard inpu ...

  9. 2017 ICPC/ACM 沈阳区域赛HDU6223

    Infinite Fraction Path Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java ...

  10. 2017ecjtu-summer training #5 UVA10382

    题意 问最少可用几个圆覆盖矩形区域. 解析 将圆形转换成矩形有效区域,直径小于等于宽度的圆不考虑,从而转化成区间覆盖问题,然后贪心出最少圆. 贪心思想 每次选择出区域左界比上次选出的区域右界小的且区域 ...