Nginx关于日志记录实例应用

1.Nginx不记录指定文件类型的日志

Nginx默认日志记录太详细,包括了很多图片等信息,如何设置不记录指定文件的类型的日志呢?

修改虚拟主机配置文件,使用指定的类型的日志。

server {
    listen       80;
    server_name  caosm05.com;
    root         /usr/share/nginx/html;
    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;
    location / {
    rewrite ^(.*)$  https://caosm05.com/$1  permanent;
    }

    == location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {  
        access_log off;
    } ==
   ## 对(gif|jpg|jpeg|png|bmp|swf)文件访问不记录到日志里面
   access_log /var/log/nginx/caosm05.com_access_ssl.log main;
   error_log /var/log/nginx/caosm05.com_error_ssl.log ;
}
server {
    listen       443 ssl;
    server_name  caosm05.com;
    root         /usr/share/nginx/html;
    ssl_certificate /etc/nginx/cert/cert.pem;
    ssl_certificate_key /etc/nginx/cert/cert.key;
    ssl_dhparam /etc/nginx/cert/dhparam.pem;
    ssl_session_ticket_key /etc/nginx/cert/ticket.key;
    ssl_session_tickets on;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    access_log /var/log/nginx/caosm05.com_access_ssl.log main;
    error_log /var/log/nginx/caosm05.com_error_ssl.log ;

    == location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { 
        access_log off;
    } ==
    ## 对(gif|jpg|jpeg|png|bmp|swf)文件访问不记录到日志里面

   access_log /var/log/nginx/caosm05.com_access_ssl.log main;
   error_log /var/log/nginx/caosm05.com_error_ssl.log ;
}
修改完配置,一定要记得重新启动nginx

对nginx 进行访问测试

[root@caosm05 html]# tail -f /var/log/nginx/caosm05.com_access_ssl.log 
打开窗口 实时监测日志情况
[root@caosm05 html]# ls
1111.jpg  1514995412828ualnfb9jvo.mp4  404.html  50x.html  index.html  nginx-logo.png  poweredby.png
对 jpg  MP4 文件进行实时访问测试

测试结果

nginx均可以正常访问测试文件。
实时监测日志窗口对MP4文件的访问,日志每条都可以正常生成。
实时监测日志窗口 对jpg文件的访问,日志没有生成自动过滤。
测试实验成功。

  1. 关于针对不同文件类型日志,进行分别记录

针对公司业务,对不同的文件类型,需要保存到不同的日志中,方便后期的查询.

location ~ .*\.(mp4)$ {
   access_log on;
   access_log /var/log/nginx/caosm05.com_access_mp4_ssl.log main;
   error_log /var/log/nginx/caosm05.com_error_mp4_ssl.log ;
针对mp4文件类型访问,caosm05.com_access_mp4_ssl.log的日志中
修改完配置,一定要记得重新启动nginx

对nginx进行访问测试

[root@caosm05 html]# tail -f /var/log/nginx/caosm05.com_access_mp4_ssl.log 
打开窗口 实时监测日志情况
[root@caosm05 html]# ls
1111.jpg  1514995412828ualnfb9jvo.mp4  404.html  50x.html  index.html  nginx-logo.png  poweredby.png

测试结果

对 MP4 文件进行实时访问测试
caosm05.com_access_mp4_ssl.log 成功记录到了MP4 文件的访问记录
caosm05.com_access_ssl.log 里面是没有关于MP4 文件的访问记录
测试实验成功。