Nginx访问日志(access_log)配置及信息详解

分类:运维日常    发布时间:2018-07-18 15:48:05
Nginx访问日志(access_log)介绍
    Nginx会把每个用户访问网站的日志信息记录到指定的日志文件里,供网站管理员分析用户浏览行为,此功能由 ngx_http_log_module 模块负责。


Nginx访问日志主要有两个参数控制
log_format  #用来定义记录日志的格式(可以定义多种日志格式,取不同名字即可)
access_log  #用来指定日至文件的路径及使用的何种日志格式记录日志


lof_format的默认值:
#    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

#                      '$status $body_bytes_sent "$http_referer" '

#                      '"$http_user_agent" "$http_x_forwarded_for"';

access_log的默认值:
#access_log  logs/access.log  main;

log_format语法格式及参数语法说明如下:
    log_format    <NAME>    <Strin­­­g>;
    关键字         格式标签     日志格式
 
    关键字:其中关键字error_log不能改变
    格式标签:格式标签是给一套日志格式设置一个独特的名字
    日志格式:给日志设置格式



log_format格式变量:

    $remote_addr  #记录访问网站的客户端地址

    $remote_user  #远程客户端用户名

    $time_local  #记录访问时间与时区

    $request  #用户的http请求起始行信息

    $status  #http状态码,记录请求返回的状态码,例如:200、301、404等

    $body_bytes_sent  #服务器发送给客户端的响应body字节数

    $http_referer  #记录此次请求是从哪个连接访问过来的,可以根据该参数进行防盗链设置。

    $http_user_agent  #记录客户端访问信息,例如:浏览器、手机客户端等

    $http_x_forwarded_for  #当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器也要进行相关的x_forwarded_for设置



配置示例:

worker_processes  1;

error_log logs/error.log error;

events {

    worker_connections  1024;

}

http {

    include status.conf;

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                               '$status $body_bytes_sent "$http_referer" '

                               '"$http_user_agent" "$http_x_forwarded_for"';

 

    access_log  logs/access.log  main;

    server {

        listen       80;

        server_name  localhost;

                rewrite ^/.* http://www.abc.com permanent;

    }

    include vhost/*.conf;

}


标签: nginx

阅读(249)┆ 评论(0) ┆ (0) ┆ 返回博客首页


发表我的评论

欢迎您: | 退出登录


文章评论