網(wǎng)站設(shè)置Js、css等文件的過期時間,是提升網(wǎng)站速度的基本技巧方法之一,之前寫過如何在IIS設(shè)置網(wǎng)頁內(nèi)容過期時間一文,滿足了部分網(wǎng)友的需要,最近有網(wǎng)友在群里提到,他們使用的是Nginx服務(wù)器,但還不知如何設(shè)置Js、css文件過期時間,故寫下此教程,以便查看。
Nginx如何設(shè)置Js、css等文件的過期時間
首先打開配置文件/etc/nginx/nginx.conf,然后找到下面這句話:
location~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
expires 30d;
}
設(shè)置expires這個參數(shù)即可,30d表示30天,注意后面有個分號“;”。
如果過期時間為小時,則用“h”,如“expires 1h;”表示文件緩存在1小時后過期。看看下面的范例:
#圖片緩存30天
location ~.*\.(jpg|png|jpeg)$
{
expires 30d;
}
#js css緩存一小時
location ~.*\.(js|css)?$
{
expires 1h;
}
語法解釋
nginx作為web服務(wù)器,有時需要讓瀏覽器緩存(Browser Caching) 是為了加速瀏覽并節(jié)約網(wǎng)絡(luò)資源,瀏覽器在用戶磁盤上對最近請求過的文檔進行存儲。
nginx通過expires指令來設(shè)置瀏覽器的Header
語法: expires [time|epoch|max|off]
默認值: expires off
作用域: http, server, location
使用本指令可以控制HTTP應(yīng)答中的“Expires”和“Cache-Control”的頭標,(起到控制頁面緩存的作用)。
可以在time值中使用正數(shù)或負數(shù)。“Expires”頭標的值將通過當前系統(tǒng)時間加上您設(shè)定的 time 值來獲得。
epoch 指定“Expires”的值為 1 January, 1970, 00:00:01 GMT。
max 指定“Expires”的值為 31 December 2037 23:59:59 GMT,“Cache-Control”的值為10年。
-1 指定“Expires”的值為服務(wù)器當前時間;-1s,表示永遠過期,即不緩存文件。
如何檢測網(wǎng)頁過期設(shè)置是否生效?
打開webkaka的網(wǎng)站速度診斷工具(http://pagespeed.webkaka.com/),輸入你的網(wǎng)頁地址,檢測后,立即可以看到設(shè)置是否生效了。
檢測網(wǎng)頁緩存是否生效
上圖看到,被檢測網(wǎng)頁的js、css文件過期時間為1天。