nginx的缓存设置提高性能

对于网站的图片,尤其是新闻站, 图片一旦发布, 改动的可能是非常小的.我们希望 能否在用户访问一次后, 图片缓存在用户的浏览器端,且时间比较长的缓存.

可以, 用到 nginxexpires设置 .

nginx中设置过期时间,非常简单,

locationif段里,来写.

格式 : expires 30s;

             expires 30m;

             expires 2h;

             expires 30d;

(:服务器的日期要准确,如果服务器的日期落后于实际日期,可能导致缓存失效)

: 304 也是一种很好的缓存手段

原理是: 服务器响应文件内容是,同时响应etag标签(内容的签名,内容一变,他也变), last_modified_since 2个标签值

浏览器下次去请求时,头信息发送这两个标签, 服务器检测文件有没有发生变化,如无,直接头信息返回 etag,last_modified_since

浏览器知道内容无改变,于是直接调用本地缓存.

这个过程,也请求了服务器,但是传着的内容极少.

对于变化周期较短的,如静态html,js,css,比较适于用这个方式:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
  expires 30d;
}

location ~ .*\.(js|css)?$
{
  expires 12h;
}

 

posted @ 2017-11-04 20:09  setevn  阅读(496)  评论(0编辑  收藏