Nginx图片及样式文件不记录访问日志

1、Nginx作为web服务器是可直接在server配置文件中做如下配置:

server {
        listen 80;
        server_name www.fansik.com;
        access_log /data/nginx_logs/www.fansik.com_access.log;
        error_log /data/nginx_logs/www.fansik.com_error.log;
        location / {
            root /data/apps/fansik;
        }
        location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {  
            expires    30d;  
            access_log off;  
        }  
        location ~ .*.(js|css)?$ {  
            expires    1d;  
            access_log off;  
        }
    }

2、Nginx作为反向代理服务器时,便不能使用如上配置,后果会导致图片及样式无法显示:
可将项目文件放到nginx服务器中做单独发布,配置如下:

以下配置只是在静态资源未从程序中分离出来才做如此配置,如果已经是动静分离便可照上面的配置即可。

upstream fansik {
        ip_hash;
        server 192.168.1.201:8081;
        server 192.168.1.202:8081;
    }
server {
        listen 80;
        server_name www.fansik.com;
        proxy_redirect off;
        access_log /data/nginx_logs/www.fansik.com_access.log;
        error_log /data/nginx_logs/www.fansik.com_error.log;
        location / {
            proxy_pass http://fansik;
            proxy_set_header Host $http_host;
            proxy_set_header X-Forward-For $remote_addr;
        }
        location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
            root /data/apps/fansik;
            if ( -f $request_filename) {
                expires 1d;
                access_log off;
                break;
            }
        }
        location ~ .*.(js|css)$ {
            root /data/apps/fansik;
            if ( -f $request_filename) {
               expires 1d;
               access_log off;
               break;
            }
        }
    }
原文地址:https://www.cnblogs.com/fansik/p/7080867.html