通過 OpenResty + Redis 高效緩存 WordPress

介紹

這個(gè)教程,我認(rèn)為最大的特色就是不用 Super WP Cache糙置、W3TC 這里的插件來實(shí)現(xiàn)緩存是目,而是最大化利用云服務(wù)器的特性,將傳統(tǒng)的頁面緩存丟入對象緩存實(shí)現(xiàn)加速的鏈: Nginx/Apache —— PHP-FPM/Mod-PHP —— WP緩存插件 —— 生成緩存 —— PHP-Redis 拓展 —— Redis —— 內(nèi)存 縮短到: OpenResty —— Nginx SRcache 拓展 —— Redis —— 內(nèi)存揉抵,直接跳過 PHP嗤疯,提高效率避免瓶頸。 更多內(nèi)容請參考:《用 Nginx+Redis Cache 給 WordPress 提速》

因?yàn)槲覀円婚_始就選擇了 OpenResty 作為 Web 軟件身弊,所以簡單粗暴阱佛,直接設(shè)置虛擬主機(jī)就行。

必備步驟:安裝并設(shè)置以Unix Socket 運(yùn)行的 Redis-Server

設(shè)置

上接《Ubuntu 下 WordPress 安裝教程》

這里以域名:www.mf8.biz凑术,虛擬主機(jī)文件:/usr/local/openresty/nginx/conf/vhost/ 為例。

修改 /usr/local/openresty/nginx/conf/vhost/:

在最最開頭加入:

復(fù)制代碼

upstream redis {

server 127.0.0.1:6379;

keepalive 512;

}

然后催首,加入 Redis 緩存的設(shè)置內(nèi)容泄鹏,可以添加在 root /data/wwwroot/mf8; 后,

復(fù)制代碼

set $skip_cache 0;

#POST請求直接調(diào)用后端

if ($request_method = POST) {

set $skip_cache 1;

}

if ($query_string != "") {

set $skip_cache 1;

}

#不要緩存以下部分

if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {

set $skip_cache 1;

}

#不緩存登陸用戶和最近評論的用戶

if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {

set $skip_cache 1;

}

location /redis-fetch {

internal??;

set??$redis_key $args;

redis_pass??redis;

}

location /redis-store {

internal??;

set_unescape_uri $key $arg_key ;

redis2_query set $key $echo_request_body;

redis2_query expire $key 14400;

redis2_pass??redis;

}

并修改反代 PHP-FPM 部分:

復(fù)制代碼

location ~ [^/]\.php(/|$) {

set $key "nginx-cache:$scheme$request_method$host$request_uri";

try_files $uri =404;

srcache_fetch_skip $skip_cache;

srcache_store_skip $skip_cache;

srcache_response_cache_control off;

set_escape_uri $escaped_key $key;

srcache_fetch GET /redis-fetch $key;

srcache_store PUT /redis-store key=$escaped_key;

more_set_headers 'X-Cache $srcache_fetch_status';

more_set_headers 'X-Store $srcache_store_status';

#PHP版本號有出入的別弄錯(cuò)了

fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;

fastcgi_index index.php;

include fastcgi.conf;

fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/";

}

如果覺得還有點(diǎn)繞,這里是一份完整配置文件可以參考:

復(fù)制代碼

https://gist.github.com/ivmm/80e4b2baff4573a2af54af149bc1cb72

插件

首先霉猛,感謝這個(gè)方法有rtCamp提出珠闰,并為緩存刷新清理的問題提供了解決插件 ——Nginx Helper插件。

因?yàn)橛眠@種緩存方式呢伏嗜,緩存往往是定死的,也就是說吹散,評論更新了八酒,文章更新了,緩存還是不會(huì)自動(dòng)更新的羞迷。所以我們需要 Nginx Helper 插件衔瓮。

搜索 或者 下載并上傳Nginx Helper插件,并進(jìn)行如下設(shè)置:

然后就可以開心的看網(wǎng)站的速度热鞍,咻咻咻了衔彻。通過瀏覽器開發(fā)者工具偷办,看到 HIT 說明緩存已經(jīng)命中。

原文鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末柄沮,一起剝皮案震驚了整個(gè)濱河市废岂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拯欧,老刑警劉巖财骨,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚓再,死亡現(xiàn)場離奇詭異,居然都是意外死亡摘仅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門六荒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矾端,“玉大人,你說我怎么就攤上這事砚亭∨孤辏” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵寻仗,是天一觀的道長凡壤。 經(jīng)常有香客問我耙替,道長曹体,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任狐援,我火速辦了婚禮究孕,結(jié)果婚禮上爹凹,老公的妹妹穿的比我還像新娘。我一直安慰自己微酬,他們只是感情好颤陶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著垦江,像睡著了一般搅方。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上姨涡,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天涛漂,我揣著相機(jī)與錄音,去河邊找鬼匈仗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛跋选,可吹牛的內(nèi)容都是我干的哗蜈。 我是一名探鬼主播坠韩,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼炼列,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了氢惋?” 一聲冷哼從身側(cè)響起稽犁,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎熊赖,沒想到半個(gè)月后虑椎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡传趾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年泥技,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了零抬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蝶棋,死狀恐怖忽妒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情段直,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布决侈,位于F島的核電站喧务,受9級特大地震影響枉圃,放射性物質(zhì)發(fā)生泄漏庐冯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一返劲、第九天 我趴在偏房一處隱蔽的房頂上張望栖茉。 院中可真熱鬧,春花似錦衡载、人聲如沸隙袁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽娜饵。三九已至,卻和暖如春遍坟,著一層夾襖步出監(jiān)牢的瞬間晴股,已是汗流浹背愿伴。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工隔节, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寂呛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓幻妓,卻偏偏與公主長得像劫拢,于是被迫代替她去往敵國和親胖缤。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評論 2 348

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

  • 轉(zhuǎn)載地址:http://gnucto.blog.51cto.com/3391516/998509 Redis與Me...
    Ddaidai閱讀 21,444評論 0 82
  • 1.1 資料 初烘,最好的入門小冊子涡真,可以先于一切文檔之前看肾筐,免費(fèi)。 作者Antirez的博客吗铐,Antirez維護(hù)的R...
    JefferyLcm閱讀 17,034評論 1 51
  • 1. 使用redis有哪些好處? 速度快唬渗,因?yàn)閿?shù)據(jù)存在內(nèi)存中,類似于HashMap壮啊,HashMap的優(yōu)勢就是查找和...
    零一間閱讀 61,859評論 3 7
  • 1. Nginx的模塊與工作原理 Nginx由內(nèi)核和模塊組成撑蒜,其中,內(nèi)核的設(shè)計(jì)非常微小和簡潔狸眼,完成的工作也非常簡單...
    rosekissyou閱讀 10,200評論 5 124
  • (1)什么是redis? Redis 是一個(gè)基于內(nèi)存的高性能key-value數(shù)據(jù)庫浴滴。 (有空再補(bǔ)充,有理解錯(cuò)誤或...
    走過路過_97c2閱讀 700評論 0 1