nginx緩存靜態(tài)資源,只需幾個配置提升10倍頁面加載速度

nginx緩存靜態(tài)資源窝稿,只需幾個配置提升10倍頁面加載速度

首先我們看圖說話

這是在沒有緩存的情況下野揪,這個頁面發(fā)送了很多靜態(tài)資源的請求:

1.png

可以看到访忿,靜態(tài)資源占用了整個頁面加載用時的90%以上,而且這個靜態(tài)資源還是已經(jīng)在我使用了nginx配置壓縮以后的大小斯稳,如果沒有對這些靜態(tài)資源壓縮的話海铆,那么靜態(tài)資源加載應(yīng)該會占用這個頁面展示99%以上的時間。聽起來是不是已經(jīng)被嚇到了挣惰,但是數(shù)據(jù)已經(jīng)擺在這里了卧斟,這可不是危言聳聽殴边。

然后再看看使用了nginx緩存之后的效果圖:


2.png

看到?jīng)]有,朋友們珍语,整個頁面只有請求接口的時間和從本地磁盤加載css的時間锤岸。頁面加載速度直接提升10倍以上!并且由于我這個頁面沒有采用前后端分離的方式板乙,所以html沒有緩存下來是偷,如果采用了前后端分離架構(gòu)的話,就連html都可以直接緩存募逞,那提升的速度可想而知蛋铆。當(dāng)然由于瀏覽器或者手機(jī)端對頁面加載的優(yōu)化我們并不能很直觀的感受到10倍的提升,實(shí)際上以肉眼觀察的話放接,差不多減少了一半的時間刺啦,并且由于并沒有向后端服務(wù)器請求這些靜態(tài)資源,也相當(dāng)于對后端服務(wù)器做了一層保護(hù)措施纠脾。

首先在http模塊加配置:

# 開啟gzip
gzip  on;
# 啟用gzip壓縮的最小文件洪燥,小于設(shè)置值的文件將不會壓縮
gzip_min_length 1k;
# gzip 壓縮級別,1-10乳乌,數(shù)字越大壓縮的越好捧韵,也越占用CPU時間。一般設(shè)置1和2
gzip_comp_level 2;
# 進(jìn)行壓縮的文件類型汉操。javascript有多種形式再来。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding磷瘤,建議開啟
gzip_vary on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";
# 設(shè)置緩存路徑并且使用一塊最大100M的共享內(nèi)存芒篷,用于硬盤上的文件索引,包括文件名和請求次數(shù)采缚,每個文件在1天內(nèi)若不活躍(無請求)則從硬盤上淘汰针炉,硬盤緩存最大10G,滿了則根據(jù)LRU算法自動清除緩存扳抽。
proxy_cache_path /var/cache/nginx/cache levels=1:2 keys_zone=imgcache:100m inactive=1d max_size=10g;

關(guān)于模塊以及nginx配置信息在上一篇文章有說明篡帕。

可以看到在http模塊中主要是使用gzip壓縮,最后一個配置才是和緩存有關(guān)的配置贸呢。

然后是server中加上location配置

location ~* ^.+\.(css|js|ico|gif|jpg|jpeg|png)$ {
 log_not_found off;
 # 關(guān)閉日志
 access_log off;
 # 緩存時間7天
 expires 7d;
 # 源服務(wù)器
 proxy_pass http://localhost:8888;
 # 指定上面設(shè)置的緩存區(qū)域
 proxy_cache imgcache;
 # 緩存過期管理
 proxy_cache_valid 200 302 1d;
 proxy_cache_valid 404 10m;
 proxy_cache_valid any 1h;
 proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
 }

加上這兩塊配置之后镰烧,就能享受到緩存給你帶來的快樂了。當(dāng)然系統(tǒng)優(yōu)化之路還是相當(dāng)漫長的楞陷,nginx緩存只是其中的一塊而已怔鳖,想要把系統(tǒng)達(dá)到完美還需要在很多地方下功夫,比如這些靜態(tài)資源完全可以直接在客戶端緩存固蛾,這樣連請求都不會往服務(wù)端發(fā)了结执,更大的減輕服務(wù)器的壓力度陆。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市献幔,隨后出現(xiàn)的幾起案子坚芜,更是在濱河造成了極大的恐慌,老刑警劉巖斜姥,帶你破解...
    沈念sama閱讀 212,029評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸿竖,死亡現(xiàn)場離奇詭異,居然都是意外死亡铸敏,警方通過查閱死者的電腦和手機(jī)缚忧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杈笔,“玉大人闪水,你說我怎么就攤上這事∶删撸” “怎么了球榆?”我有些...
    開封第一講書人閱讀 157,570評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長禁筏。 經(jīng)常有香客問我持钉,道長,這世上最難降的妖魔是什么篱昔? 我笑而不...
    開封第一講書人閱讀 56,535評論 1 284
  • 正文 為了忘掉前任每强,我火速辦了婚禮,結(jié)果婚禮上州刽,老公的妹妹穿的比我還像新娘空执。我一直安慰自己,他們只是感情好穗椅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,650評論 6 386
  • 文/花漫 我一把揭開白布辨绊。 她就那樣靜靜地躺著,像睡著了一般匹表。 火紅的嫁衣襯著肌膚如雪门坷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,850評論 1 290
  • 那天桑孩,我揣著相機(jī)與錄音拜鹤,去河邊找鬼。 笑死流椒,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的明也。 我是一名探鬼主播宣虾,決...
    沈念sama閱讀 39,006評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼惯裕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了绣硝?” 一聲冷哼從身側(cè)響起蜻势,我...
    開封第一講書人閱讀 37,747評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鹉胖,沒想到半個月后握玛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,207評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甫菠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,536評論 2 327
  • 正文 我和宋清朗相戀三年挠铲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寂诱。...
    茶點(diǎn)故事閱讀 38,683評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡拂苹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出痰洒,到底是詐尸還是另有隱情瓢棒,我是刑警寧澤,帶...
    沈念sama閱讀 34,342評論 4 330
  • 正文 年R本政府宣布丘喻,位于F島的核電站脯宿,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏泉粉。R本人自食惡果不足惜嗅绰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,964評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望搀继。 院中可真熱鬧窘面,春花似錦、人聲如沸叽躯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽点骑。三九已至酣难,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間黑滴,已是汗流浹背憨募。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留袁辈,地道東北人菜谣。 一個月前我還...
    沈念sama閱讀 46,401評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尾膊。 傳聞我的和親對象是個殘疾皇子媳危,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,566評論 2 349

推薦閱讀更多精彩內(nèi)容