Nginx的日志

Posted csfreebird

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx的日志相关的知识,希望对你有一定的参考价值。

一直都是使用默认的nginx日志,直到发现需要通过日志来检查配置的rule是否正确。

先来个简单的,在server里面配置日志

    # HTTP server                                                                                                                                                                                                    
    server 
        listen       80;
        server_name  localhost;

        if ($uri ~* "/login_page$")
        
                rewrite ^/(.*)$ https://$host/$1 redirect;
        

        access_log /opt/kaimei.log;

        location / 
            root   html;
            index  index.html index.htm;
        
...

现在就可以在/opt/kaimei.log下面看到访问日志。


进一步,如果有多个server配置,可以每个配不同的日志,比如我还有一个HTTPS的 server.

    # HTTPS server                                                                                                                                                                                                   
    server 
        listen       443;
        server_name  localhost;
        ssl                  on;
        ssl_certificate /usr/nginx/conf/server.crt;
        ssl_certificate_key /usr/nginx/conf/server.key;

	access_log /opt/kaimei_https.log;

日志的格式

参考文档http://wiki.nginx.org/HttpLogModule

前面没有在access_log指令后面指定日志格式,因此采用的是默认格式combined. 格式定义如下:

log_format combined '$remote_addr - $remote_user [$time_local]  '
                    '"$request" $status $body_bytes_sent '
                    '"$http_referer" "$http_user_agent"';
一共8个部分。


设置自己的日志格式

在http设置里面,添加如下配置:

    log_format my_log '$remote_addr | $remote_user | [$time_local] | '                                    |
                    '"$request" | $status | $body_bytes_sent |'                                           |    fastcgi_param  SCRIPT_NAME     /kaimei;
                    '"$http_referer" | "$http_user_agent" |';  

然后在所有access_log的指定后面第二个参数使用my_log


关闭某个日志

经常碰到favicon.ico找不到的日志,直接关闭它。

location = /favicon.ico 
  log_not_found off;



以上是关于Nginx的日志的主要内容,如果未能解决你的问题,请参考以下文章

nginx 错误日志在哪

nginx日志切分

Nginx日志切割(Nginx日志备份)

nginx清理日志

请教nginx日志分析

Nginx服务优化日志分割