静态文件缓存
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)后面可能还有其他的东西,所以不需要加$,而并不像图片格式就直接结尾了。
## 检查并重新加载
[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