国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

如何在nginx中配置緩存靜態文件

2024-08-30 12:28:36
字體:
來源:轉載
供稿:網友

這篇教程說明你應該怎樣配置 nginx、設置 HTTP 頭部過期時間,用 Cache-Control 中的 max-age 標記為靜態文件(比如圖片、 CSS 和 Javascript 文件)設置一個時間,這樣用戶的瀏覽器就會緩存這些文件。這樣能節省帶寬,并且在訪問你的網站時會顯得更快些(如果用戶第二次訪問你的網站,將會使用瀏覽器緩存中的靜態文件)。

1、準備事項

我想你需要一個正常工作的 nginx 軟件,就像這篇教程里展示的:在Ubuntu 16.04 LTS 上安裝 Nginx,PHP 7 和 MySQL 5.7 (LEMP) 。

2 配置 nginx

可以參考 expires 指令手冊來設置 HTTP 頭部過期時間,這個標記可以放在 http {}server {}location {} 等語句塊或者 location {} 語句塊中的條件語句中。一般會在 location 語句塊中用 expires 指令控制你的靜態文件,就像下面一樣:

location ~* /.(jpg|jpeg|png|gif|ico|css|js)$ {  expires 365d;}

在上面的例子中,所有后綴名是 .jpg .jpeg .png .gif .ico .css .js 的文件會在瀏覽器訪問該文件之后的 365 天后過期。因此你要確保 location {} 語句塊僅僅包含能被瀏覽器緩存的靜態文件。

然后重啟 nginx 進程:

/etc/init.d/nginx reload

你可以在 expires 指令中使用以下的時間設置:

  • off Expires Cache-Control 頭部不能被更改。
  • epoch Expires 頭部設置成 1970 年 1 月 1 日 00:00:01。
  • max 設置 Expires 頭部為 2037 年 12 月 31 日 23:59:59,設置 Cache-Control 的最大存活時間為 10 年
  • 沒有 @ 前綴的時間意味著這是一個與瀏覽器訪問時間有關的過期時間。可以指定一個負值的時間,就會把 Cache-Control 頭部設置成 no-cache。例如:expires 10d 或者 expires 14w3d
  • @ 前綴的時間指定在一天中的某個時間過期,格式是 Hh 或者 Hh:Mm,H 的范圍是 0 到 24,M 的范圍是 0 到 59,例如:expires @15:34

你可以用以下的時間單位:

  • ms: 毫秒
  • s: 秒
  • m: 分鐘
  • h: 小時
  • d: 天
  • w: 星期
  • M: 月 (30 天)
  • y: 年 (365 天)

例如:1h30m 表示一小時三十分鐘,1y6M 表示一年六個月。

注意,要是你用一個在將來很久才會過期的頭部,當組件修改時你就要改變組件的文件名。因此給文件指定版本是一個不錯的方法。例如,如果你有個 javascript.js 文件 并且你要修改它,你可以在修改的文件名字后面添加一個版本號。這樣瀏覽器就要下載這個文件,如果你沒有更改文件名,瀏覽器將從緩存里面加載(舊的)文件。

除了把基于瀏覽器訪問時間設置 Expires 頭部(比如 expires 10d)之外,也可以通過在時間前面的 modified 關鍵字,將 Expires 頭部的基準設為文件修改的時間(請注意這僅僅對存儲在硬盤的實際文件有效)。

expires modified 10d;

3 測試

要測試你的配置是否有效,可以用火狐瀏覽器的開發者工具中的網絡分析功能,然后用火狐訪問一個靜態文件(比如一張圖片)。在輸出的頭部信息里,應該能看到 Expires 頭部和有 max-age 標記的 Cache-Control 頭部(max-age 標記包含了一個以秒為單位的值,比如 31536000 就是指今后的一年)

nginx,緩存靜態文件,靜態頁面緩存,靜態文件配置

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄浦区| 湘潭县| 贞丰县| 安西县| 罗源县| 沙河市| 连山| 高清| 四会市| 杨浦区| 吉首市| 丘北县| 汝南县| 高雄县| 启东市| 四平市| 遂平县| 临泉县| 安塞县| 普安县| 依兰县| 平泉县| 绥阳县| 金乡县| 三原县| 桦南县| 延津县| 竹北市| 辉县市| 楚雄市| 陇南市| 永嘉县| 古丈县| 黄梅县| 四会市| 原平市| 泾阳县| 西峡县| 松溪县| 临城县| 九龙县|