nginx的高级配置(3)——日志管理

  1. 设置日志格式

在nginx.conf配置文件里添加

log_format xy $remote_user [$time_local] ‘ 
                      ‘"$request" $status $body_bytes_sent ‘
                      ‘"$http_referer" "$http_user_agent"‘;

此日志格式为IP不仅记录代理的IP还记录远程客户端的真实IP。然后在虚拟主机的配置文件里添加

access_log /tmp/access.log xy;

上述的xy是自己取得名字。

2.指定日志的不记录内容

刷新下nginx代理的页面,在cat /tmp/access后,发现会有许许多多的日志,特别是图片格式等内容特别多,而我们又不需要这种信息,这时就应该指定日志不去记录这些内容。

在虚拟主机的配置文件里添加localtion,

 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$        
 {             
                 access_log off;        }       
 location ~ .*\.(js|css)$       
  {           
                 access_log off;        }
这时候我们去查询access.log,发现gif|jpg|jpeg|png|bmp|swf|js|css的内容已经不见了

3.配置静态文件过期时间

一般浏览器都有缓存功能,而我们可以配置静态文件过期时间,在之前的location里添加expires,如

 location ~ .*\.(js|css)$
        {
                expires      12h;
                access_log off;
        }

这样有关js|css的内容会在12小时后过期。

4.日志切割

首先创建一个shell脚本,我的脚本是这样的

#!/bin/bash
d=`date -d "-1 day" +%F`
[ -d /tmp/nginx_log ] || mkdir /tmp/nginx_log
mv /tmp/access.log /tmp/mginx_log/$d.log
/etc/init.d/nginx reload > /dev/null
cd /tmp/nginx_log/
gzip -f $d.log

然后利用crontab制定任务计划,比如第二天的0点执行这个脚本。

5.错误日志级别

错误日志error_log日志级别

error_log 级别分为 debug, info, notice, warn, error, crit  默认为crit, 该级别在日志名后边定义格式如下:

error_log  /your/path/error.log crit;

crit 记录的日志最少,而debug记录的日志最多。如果你的nginx遇到一些问题,比如502比较频繁出现,但是看默认的error_log并没有看到有意义的信息,那么就可以调一下错误日志的级别>,当你调成error级别时,错误日志记录的内容会更加丰富,可以在nginx.conf里面修改错误日志级别

error_log /usr/local/nginx/logs/nginx_error.log debug;
时间: 2024-10-11 03:58:15

nginx的高级配置(3)——日志管理的相关文章

【Nginx系列】Nginx虚拟主机的配置核日志管理

Nginx配置段 #user nobody; worker_processes 1;// 有1个工作的子进程,可以自行修改,但太大无益,因为要争夺CPU,一般设置为 CPU数*核数 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events {// 一般是配置nginx连接的特性 如1个word能同时允许多少连接 w

nginx awstats 安装配置和日志分析

1.Nginx安装目录:/usr/local/nginx Nginx配置文件存放目录:/usr/local/nginx/conf/nginx.conf Nginx日志目录:/usr/local/nginx/logs Awstats安装目录:/usr/local/awstats Awstats配置文件存放目录:/etc/awstats 日志切割脚本存放目录:/usr/local/nginx/nginx_log.sh 2.Nginx日志切割 修改nginx.conf配置文件,使AWSTATS支持分析

虚拟主机ip配置,nginx.conf文件配置及日志文件切割

今天粗略整理了一下虚拟主机配置,nginx.conf文件的配置,及日志文件的切割,记录如下: nginx虚拟主机配置:1.IP地址配置,2.绑定ip地址和虚拟主机详情:1.ip地址的配置:ifconfig eth0 192.168.0.15 netmast 255.255.255.0虚拟ip及对应server块基本配置:ifconfig eth0:1 192.168.0.180 broadcast 192.168.0.255 netmask 255.255.255.0ifconfig eth0:

nginx的高级配置(1)——为某个虚拟主机添加用户验证

版本:centos6.5 ; mysql-5.6.26 ;nginx-1.6.3 ;php-5.4.37 环境架构:LNMP 1.配置第二个虚拟主机 可以在nginx.conf 加一行 include  vhosts/*.conf; 这样,我们就可以在 /usr/local/nginx/conf/vhosts目录下创建虚拟主机配置文件了. #mkdir /usr/local/nginx/conf/vhosts #cd !$ #vim  111.conf   // 加入 server server

nginx错误界面优化和日志管理

nginx错误界面优化 在进行web访问的时候,经常会遇到网站打不开报错的情况,nginx默认的界面并不美观,我们可以通过重定向到自定义的错误页面,提升用户体验,比如淘宝的错误页面还有商品信息和广告. 优化方法 编辑nginx.conf配置文件,在server代码块中加上一行 error_page 400 103 404 405 /40x.html; 自己编辑40x.html文件就可以了. nginx日志功能 开发和运维人员可以通过日志来分析用户将的行为,nginx中由ngx_http_log_

开发搭建环境之springboot配置logback日志管理

首先书写logback-spring.xml文件为: <?xml version="1.0" encoding="UTF-8"?> <configuration> <springProperty scope="context" name="LOG_DIR" source="logback.path"/> <springProperty scope="con

nginx的高级配置(5)——访问控制

限制只让某个ip访问     allow          219.232.244.234;    deny           all; 禁止某个IP或者IP段访问站点的设置方法 首先建立下面的配置文件放在nginx的conf目录下面,命名为deny.ip   cat  deny.ipdeny 192.168.1.11;deny 192.168.1.123;deny 10.0.1.0/24; 在nginx的配置文件nginx.conf中加入:include deny.ip; 重启一下nginx

防火墙(ASA)高级配置之URL过滤、日志管理、透明模式

对于防火墙产品来说,最重要的一个功能就是对事件进行日志记录.本篇博客将介绍如何对ASA进行日志管理与分析.ASA透明模式的原理与配置.利用ASA防火墙的IOS特性实施URL过滤. 一.URL过滤 利用ASA防火墙IOS的特性URL过滤可以对访问的网站域名进行控制,从而达到某种管理目的. 实施URL过滤一般分为以下三个步骤: (1)创建class-map(类映射),识别传输流量. (2)创建policy-map(策略映射),关联class-map. (3)应用policy-map到接口上. 案例:

Nginx日志管理和切割

一.日志分类 Nginx日志主要分为两种,访问日志和错误日志.两种日志可以在http和server模块中配置,nginx有一个非常灵活的日志记录模式.每个级别的配置可以有各自独立的访问日志.日志格式通过log_format命令来定义 1.访问日志 访问日志主要记录客户端访问Nginx的每一个请求 log_format用来设置日志格式,只能在http模块下设置 log_format name   name(格式名称)   type(格式样式) 下面是默认的nginx日志格式: log_format