400-1513-886

全国统一服务热线

系统运维

nginx expires 缓存实现性能优化

发布时间:2019-01-26 23:15:42 2062 次

根据扩展名进行判断

nginx expires配置详解(配置在nginx.conf中的server模块中):
……
server{
……

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{     root /var/www/static;
      expires  365d;   当用户访问网站URL结尾的文件扩展名为上述指定类型的图片时,设置缓存365天。
}

location ~ .*\.(js|css)?$
{     root /var/www/static;
      expires   30d;      #当用户访问网站URL结尾的文件扩展名为js、css类型的元素时,设置缓存30天。
}
……


根据URI中的路径(目录)进行判断,添加expires功能范例

 

location ~ ^/ (images|javascript|js|css|flash|media|static)/ {
      expires  360d;  
}

 

单个文件添加expires功能范例

 

location ~(robots.txt){
      expires 7d;    #给robots.txt机器人文件设置过去时间,在设置的期间内不记录404错误日志。
break;}
 

Nginx expires功能缺点及解决方法

当网站被缓存的界面或数据更新了,此时用户端看到还是旧的已经缓存的内容,这样就会影响到用户体验,解决方法如下:

对于经常需要变动的图片等文件,可以缩短对象缓存时间。

当网站改版或更新时,可以在服务器将缓存的对象改名(代码程序)

对于网站的图片、附件,一般不会被用户直接修改,用户层面上的修改图片,实际上个是重新传到服务器,虽然内容一样,但是会产生一个新的图片名称。

网站改版升级会修改js、css等样式文件,若改版时对这些样式文件中的元素改了名,会使得前端的CDN及用户端需要重新缓存内容。

扫码进入小程序

公司名称:广州统天网络科技有限公司

公司地址:广州市白云区石井镇潭村水闸街6号

公司电话:400-1513-886

公司邮箱:info@tongtian.tech