错误信息日志配置:

  日志文件默认:/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. window.btoa 和 window.atob

    前一段时间被安全部门查出,明文传递密码,被要求整改. 然后就进行了引入了第三方的base64编码的js库,进行了编码然后传递. 其实在前端的加密都是寻求一个心理安慰,作用是微乎其微的,确实也更加好那么 ...

  2. virtuoso数据库的安装方法

    数据库virtuoso有两种安装配置方式 第一种就是直接在系统中默认安装,拷贝virtuoso的安装文件,直接默认安装. 第二种是配置安装方式 参考地址:http://vos.openlinksw.c ...

  3. 关于 for 循环与 循环嵌套

    FOR循环精讲 > 1.初步结识 for是写出题的重要组成部分之一,每个题如果没有for循环根本是无法做出来的,可见for循环在c++语言中是有多么重要,那么for的格式是怎样的呢?? for( ...

  4. 设计模式复习小结一(Strategy Pattern/Observer Pattern/Decorator Patter/Factory Pattern)

    目录: 前言 1. Stratrgy Pattern 2. Observer Pattern 3. Decorator Pattern 4. Factory Pattern 4.1 FactoryPa ...

  5. VFS四大对象之三 struct dentry

    继上一篇文章介绍了inode结构体:继续介绍目录项dentry: http://www.cnblogs.com/linhaostudy/p/7427794.html 三.dentry结构体 目录项:目 ...

  6. deeplearning.ai 卷积神经网络 Week 4 特殊应用:人脸识别和神经风格转换 听课笔记

    本周课程的主题是两大应用:人脸检测和风格迁移. 1. Face verification vs. face recognition Verification: 一对一的问题. 1) 输入:image, ...

  7. CTF---隐写术入门第一题 SB!SB!SB!

    SB!SB!SB!分值:20 来源: 西普学院 难度:中 参与人数:4913人 Get Flag:1541人 答题人数:1577人 解题通过率:98% LSB 解题链接: http://ctf5.sh ...

  8. stl总结精简版

    STL 精简版 vetor #include<vector> #include<cstdio> #include<algorithm> #include<io ...

  9. UVA424高精度加法

    One of the first users of BIT's new supercomputer was Chip Diller. He extended his exploration of po ...

  10. linux系统下,警告:warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration] 和 warning: the `gets' function is dangerous and should not be used. 的由来和解决方法。

    字符数组 的英文名字是 char [] gets()函数的基本用法为:char *gets(char *s); 该函数的参数是一个字符数组,该函数的返回值也是一个字符数组. linux下的代码如下: ...