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;
}
}
}