Nginx日志配置

来源:互联网 发布:java websocket 跨域 编辑:程序博客网 时间:2024/06/06 17:01
一,日志格式
log_format main '$remote_addr - $remote_user [$time_local] $request '
                    '"$status" $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';



log_format main1 '$proxy_add_x_forwarded_for - $remote_user [$time_local] '
                      '"$request" $status $body_bytes_sent '
                      '"$http_referer" "$http_user_agent"';  //此日志格式为,ip不仅记录代理的ip还记录远程客户端真实IP。

$remote_addr与$http_x_forwarded_for用以记录客户端IP地址,一个记录代理IP,一个记录真实IP;


$remote_user用以记录客户端用户名称;


$time_local用来记录访问时间与时区;

$request用来记录请求的url与http协议;

$status用来记录请求状态,成功是200;

$body_byte_sent记录发送给客户端文件主体内容大小;

$http_referer用来记录从哪个页面链接访问过来的;

$http_user_agent记录客户端浏览器的相关信息;





二,定制日志

log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
    '$host "$request_uri" $status'
    '"$http_referer" "$http_user_agent"';

在虚拟主机配置文件中加入:

access_log /usr/local/nginx/logs/Nginx_access_log combined_realip;


   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        access_log off;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
        access_log /dev/null;
    }


三,日志切割

需要自己编写脚本切割日志

vim  /usr/local/sbin/logrotate.sh  


#!/bin/bash
pid=`cat /usr/local/nginx/logs/nginx.pid`
d=`date -d "-1 day" +%Y%m%d`
mv /usr/local/nginx/logs/1.log /usr/local/nginx/logs/$d.log
kill -HUP $pid
0 0
原创粉丝点击