Nginx如何设置HTML、JS、CSS和图片等文件的缓存时间?

技术运维Nginx 1126

Nginx如何设置HTML、JS、CSS和图片等文件的缓存时间?

处理HTML、JS、CSS和图片等静态文件的请求可是Nginx最拿手的事情,本文介绍Nginx的静态资源缓存时间的设置方法。

在你的站点配置文件中加入:

location ~.*\.(js|css|html|png|jpg)$ {
    expires    6h;
}

expires的设置:

  • expires max; ##表示缓存10年
  • expires 1d; ##表示缓存1天
  • expires 6h; ##表示缓存6小时
  • expires -1; ##表示不做任何缓存

如何为不同的文件独立设置缓存时间?

比如jpg|png等图片文件几乎不怎么需要更新需要很长缓存时间,而js/css可能更新频率稍高一点,html文件更新频率最高,那么你可以复制上面的参数,只做出几个版本针对不同的文件后缀:

location ~.*\.(html)$ {
    expires    6h;    ## html文件缓存6个小时
}

location ~.*\.(js|css)$ {
    expires    7d;    ## js/css文件缓存7天
}

location ~.*\.(png|jpg)$ {
    expires    30d;    ## png/jpg文件缓存30天
}

是不是很简单?

Post Comment