静态文件缓存

js、css、图片等如何去做一个缓存呢?也就是所谓的过期时间,配置缓存的目的也是为了让我们的访问速度更加快。

## 编辑配置文件

[root@wy ~]# vim /usr/local/nginx/conf/vhosts/test.conf

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {

       access_log off;

       expires 15d;

    }

    location ~ \.(js|css) {

       access_log off;

       expires 2h;

    }

解释说明:

将匹配的静态文件保存在浏览器缓存中

expires 设置保存时间d天 h小时

access_log 设置是否记录日志

(js|css)后面可能还有其他的东西,所以不需要加$,而并不像图片格式就直接结尾了。

WEBRESOURCE2f503ab47e5c83ae4b87823c728f7

## 检查并重新加载

[root@wy ~]# /usr/local/nginx/sbin/nginx -t

[root@wy ~]# /usr/local/nginx/sbin/nginx -s reload

## 测试

[root@wy ~]# curl -x127.0.0.1:80 http://www.test.com/static/p_w_picpath/common/logo.png -I

HTTP/1.1 200 OK

Server: nginx/1.6.2

Date: Thu, 10 Nov 2016 23:13:32 GMT

Content-Type: p_w_picpath/png

Content-Length: 4425

Last-Modified: Thu, 04 Sep 2014 03:22:34 GMT

Connection: keep-alive

ETag: "5407dafa-1149"

Expires: Fri, 25 Nov 2016 23:13:32 GMT

Cache-Control: max-age=1296000

Accept-Ranges: bytes

解释说明:

配置文件中配置图片的缓存时间为15天,也就是1296000