Nginx緩存功能:Proxy_cache與fastcgi_cache區(qū)別

proxy_cache的作用是緩存后端服務(wù)器的內(nèi)容,可能是任何內(nèi)容,包括靜態(tài)的和動(dòng)態(tài)。

fastcgi_cache的作用是緩存fastcgi生成的內(nèi)容,很多情況是php生成的動(dòng)態(tài)的內(nèi)容俭嘁。

proxy_cache緩存減少了nginx與后端通信的次數(shù),節(jié)省了傳輸時(shí)間和后端寬帶乳愉。

fastcgi_cache緩存減少了nginx與php的通信的次數(shù)兄淫。更減輕了php和數(shù)據(jù)庫(kù)(mysql)的壓力,這比用memcached之類的緩存要輕松得多蔓姚。

proxy_cache和fastcgi_cache構(gòu)成了Nginx的緩存
proxy_cache主要用于反向代理時(shí)捕虽,對(duì)后端內(nèi)容源服務(wù)器進(jìn)行緩存
fastcgi_cache主要用于對(duì)FastCGI的動(dòng)態(tài)程序進(jìn)行緩存。兩者的功能基本上一樣坡脐。

附上nginx的httpd 配置

fastcgi_connect_timeout 300;
指定連接到后端FastCGI的超時(shí)時(shí)間泄私。

fastcgi_send_timeout 300;
向FastCGI傳送請(qǐng)求的超時(shí)時(shí)間,這個(gè)值是指已經(jīng)完成兩次握手后向FastCGI傳送請(qǐng)求的超時(shí)時(shí)間。

fastcgi_read_timeout 300;
接收FastCGI應(yīng)答的超時(shí)時(shí)間晌端,這個(gè)值是指已經(jīng)完成兩次握手后接收FastCGI應(yīng)答的超時(shí)時(shí)間捅暴。

fastcgi_buffer_size 32k;
指定讀取FastCGI應(yīng)答第一部分需要用多大的緩沖區(qū),一般第一部分應(yīng)答不會(huì)超過(guò)1k咧纠,由于頁(yè)面大小為4k蓬痒,所以這里設(shè)置為4k。

fastcgi_buffers 4 32k;
指定本地需要用多少和多大的緩沖區(qū)來(lái)緩沖FastCGI的應(yīng)答請(qǐng)求漆羔。如果一個(gè)PHP腳本所產(chǎn)生的頁(yè)面大小為256KB梧奢,那么會(huì)為其分配4個(gè)64KB的緩沖區(qū)來(lái)緩存;如果頁(yè)面大小大于256KB演痒,那么大于256KB的部分會(huì)緩存到fastcgi_temp指定的路徑中亲轨,但是這并不是好方法,因?yàn)閮?nèi)存中的數(shù)據(jù)處理速度要快于硬盤(pán)鸟顺。一般這個(gè)值應(yīng)該為站點(diǎn)中PHP腳本所產(chǎn)生的頁(yè)面大小的中間值惦蚊,如果站點(diǎn)大部分腳本所產(chǎn)生的頁(yè)面大小為256KB,那么可以把這個(gè)值設(shè)置為“16 16k”讯嫂、“4 64k”等蹦锋。

fastcgi_busy_buffers_size 64k;
默認(rèn)值是fastcgi_buffers的兩倍。

fastcgi_temp_file_write_size 64k;
在寫(xiě)入fastcgi_temp_path時(shí)將用多大的數(shù)據(jù)塊端姚,默認(rèn)值是fastcgi_buffers的兩倍晕粪。

fastcgi_cache_path /var/logs/nginx/fastcgi_cache_dir levels=1:2 keys_zone=cache_fastcgi:128m inactive=1d max_size=10g;
這個(gè)指令為FastCGI緩存指定一個(gè)路徑挤悉,目錄結(jié)構(gòu)等級(jí)渐裸,關(guān)鍵字區(qū)域存儲(chǔ)時(shí)間和非活動(dòng)刪除時(shí)間。以及最大占用空間装悲。

然后在server的location里面調(diào)用昏鹃,如下緩存php文件:

location ~ \.php$ {
  root /var/www/html/yan_blog;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME     $document_root$fastcgi_script_name;
  include fastcgi_params;
  fastcgi_cache cache_fastcgi;

  #表示開(kāi)啟FastCGI緩存并為其指定一個(gè)名稱。     
  fastcgi_cache_valid 200 302 301 1h;
  fastcgi_cache_valid any 1m;
  #為指定的應(yīng)答代碼指定緩存時(shí)間诀诊,如上例中將200洞渤,302 301應(yīng)答緩存一小時(shí),其他為1分鐘属瓣。
  fastcgi_cache_min_uses 1;
  #設(shè)置鏈接請(qǐng)求幾次就被緩存载迄。
  fastcgi_cache_use_stale error timeout invalid_header http_500;
  #定義哪些情況下用過(guò)期緩存
  fastcgi_cache_key $request_method://$host$request_uri;
  #注意一定要加上$request_method作為cache key,否則如果HEAD類型的先請(qǐng)求會(huì)導(dǎo)致后面的GET請(qǐng)求返回為空
}

設(shè)置了之后重啟nginx就可以生效了抡蛙,這個(gè)時(shí)候再訪問(wèn)php的頁(yè)面的話护昧,就會(huì)被緩存了,可以查看/var/logs/nginx/fastcgi_cache_dir這個(gè)目錄下面是有緩存文件的粗截。

注意
如果更改了緩存目錄的路徑惋耙,一定要把緩存的名稱也改掉,后端調(diào)用的名稱也同步改掉,如果只改掉了緩存目錄绽榛,不改緩存名稱的話湿酸,緩存的時(shí)候還是會(huì)緩存到之前的路徑下面去,但是調(diào)用的時(shí)候調(diào)用的是新的路徑灭美,這個(gè)時(shí)候就會(huì)出現(xiàn)找不到的情況推溃。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市届腐,隨后出現(xiàn)的幾起案子美莫,更是在濱河造成了極大的恐慌,老刑警劉巖梯捕,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厢呵,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡傀顾,警方通過(guò)查閱死者的電腦和手機(jī)襟铭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)短曾,“玉大人寒砖,你說(shuō)我怎么就攤上這事〖倒眨” “怎么了哩都?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)婉徘。 經(jīng)常有香客問(wèn)我漠嵌,道長(zhǎng),這世上最難降的妖魔是什么盖呼? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任儒鹿,我火速辦了婚禮,結(jié)果婚禮上几晤,老公的妹妹穿的比我還像新娘约炎。我一直安慰自己,他們只是感情好蟹瘾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布圾浅。 她就那樣靜靜地躺著,像睡著了一般憾朴。 火紅的嫁衣襯著肌膚如雪狸捕。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,604評(píng)論 1 305
  • 那天伊脓,我揣著相機(jī)與錄音府寒,去河邊找鬼魁衙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛株搔,可吹牛的內(nèi)容都是我干的剖淀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼纤房,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼纵隔!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起炮姨,我...
    開(kāi)封第一講書(shū)人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤捌刮,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后舒岸,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體绅作,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年蛾派,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了俄认。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洪乍,死狀恐怖眯杏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情壳澳,我是刑警寧澤岂贩,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站巷波,受9級(jí)特大地震影響萎津,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜褥紫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一姜性、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧髓考,春花似錦、人聲如沸弃酌。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)妓湘。三九已至查蓉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間榜贴,已是汗流浹背豌研。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工妹田, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鹃共。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓鬼佣,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親霜浴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子晶衷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

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