国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Nginx開啟fastcgi

NGINX下fastcgi_cache模塊,使其實現(xiàn)緩存,效果的確不錯,易淘幫參考張戈的文章折騰了一番。

一、添加模塊

本文分享的 Nginx 緩存需要額外編譯 ngx_cache_purge 模塊。至于下載模塊、重新編譯以及平滑升級前文已經分享過了,本文就不再贅述了。不會的朋友可以參考下文:

  1. cd ~/lnmp/src
  2. wget http://labs.frickle.com/files/ngx_cache_purge-2.1.tar.gz
  3. tar xzf ngx_cache_purge-2.1.tar.gz
  4. cd nginx-1.8.0 #你的nginx解壓目錄,版本號根據(jù)你自己的版本號定義。
  5. make clean
  6.  
  7. ./configure --prefix=/usr/local/nginx --user=www --group=www --add-module=../ngx_cache_purge-2.3 \
  8. --with-http_stub_status_module \
  9. --with-http_spdy_module \
  10. --with-http_ssl_module --with-ipv6 \
  11. --with-http_gzip_static_module \
  12. --with-http_realip_module \
  13. --with-http_flv_module \
  14. --with-ld-opt=-ljemalloc
  15.  
  16. make
  17. mv /usr/local/nginx/sbin/nginx{,$(date +%m%d)}
  18. cp objs/nginx /usr/local/nginx/sbin
  19. service nginx resatrt
  20. mkdir -p /var/nginx/cache/one
  21. chown -R www.www /var/nginx

為網站開啟Nginx緩存加速,支持html偽靜態(tài)頁面

二、Nginx配置

要用這個緩存功能,建議重新弄一個 server 模塊(替換之前的),如下代碼是張戈博客目前正在使用的規(guī)則(已刪除了我自定義的偽靜態(tài)規(guī)則,避免混淆視聽):

  1. ####################################################################################################
  2. # Nginx開啟fastcgi_cache-purge緩存加速,支持html偽靜態(tài)頁面 By 張戈博客
  3. # 文章地址:http://zhangge.net/5042.html ?
  4. # 參 考 ①:http://jybb.me/nginx-wordpress-fastcgi_cache-purge
  5. # 參 考 ②:https://rtcamp.com/wordpress-nginx/tutorials/single-site/fastcgi-cache-with-purging/
  6. # 轉載本文請務必保留以上申明,謝謝合作!
  7. ####################################################################################################
  8. #下面各個參數(shù)的含義請自行百度,我就不贅述了
  9. #下面2行的中的wpcache路徑請自行提前創(chuàng)建,否則可能會路徑不存在而無法啟動nginx,max_size請根據(jù)分區(qū)大小自行設置
  10. fastcgi_cache_path /tmp/cache/wpcache levels=1:2 keys_zone=WORDPRESS:250m inactive=1d max_size=1G;
  11. fastcgi_temp_path /tmp/cache/wpcache/temp;
  12. fastcgi_cache_key "$scheme$request_method$host$request_uri";
  13. fastcgi_cache_use_stale error timeout invalid_header http_500;
  14. #忽略一切nocache申明,避免不緩存?zhèn)戊o態(tài)等
  15. fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
  16. server
  17. {
  18. listen 80;
  19. #請修改為自己的域名
  20. server_name zhangge.net;
  21. index index.html index.htm index.php default.html default.htm default.php;
  22. #請修改為自己網站的存放路徑
  23. root /home/wwwroot/zhangge.net;
  24. set $skip_cache 0;
  25. #post訪問不緩存
  26. if ($request_method = POST) {
  27. set $skip_cache 1;
  28. }
  29. #動態(tài)查詢不緩存
  30. if ($query_string != "") {
  31. set $skip_cache 1;
  32. }
  33. #后臺等特定頁面不緩存(其他需求請自行添加即可)
  34. if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
  35. set $skip_cache 1;
  36. }
  37. #對登錄用戶、評論過的用戶不展示緩存(這個規(guī)則張戈博客并沒有使用,所有人看到的都是緩存)
  38. if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
  39. set $skip_cache 1;
  40. }
  41. #這里請參考你網站之前的配置,特別是sock的路徑,弄錯了就502了!
  42. location ~ [^/]\.php(/|$)
  43. {
  44. try_files $uri =404;
  45. fastcgi_pass unix:/tmp/php-cgi.sock;
  46. fastcgi_index index.php;
  47. include fastcgi.conf;
  48. #新增的緩存規(guī)則
  49. fastcgi_cache_bypass $skip_cache;
  50. fastcgi_no_cache $skip_cache;
  51. add_header X-Cache "$upstream_cache_status From $host";
  52. fastcgi_cache WORDPRESS;
  53. fastcgi_cache_valid 200 301 302 1d;
  54. }
  55. location / {
  56. #此處可以添加自定義的偽靜態(tài)規(guī)則(之前你新增的偽靜態(tài)規(guī)則可以添加到這,沒有就不用了)
  57. try_files $uri $uri/ /index.php?$args;
  58. rewrite /wp-admin$ $scheme://$host$uri/ permanent;
  59. }
  60. #緩存清理配置(可選模塊,請細看下文說明)
  61. location ~ /purge(/.*) {
  62. allow 127.0.0.1;
  63. allow "此處填寫你服務器的真實外網IP";
  64. deny all;
  65. fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1";
  66. }
  67. location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
  68. access_log off; log_not_found off; expires max;
  69. }
  70. location = /robots.txt { access_log off; log_not_found off; }
  71. location ~ /\. { deny all; access_log off; log_not_found off; }
  72. #請注意修改日志路徑
  73. access_log /home/wwwlogs/zhangge.net.log access;
  74. }

請仔細閱讀代碼中的所有注釋,該修改的修改,該創(chuàng)建的創(chuàng)建,該補充的根據(jù)實際情況補充,否則使用之后又來找張戈吐槽各種問題了!

三、安裝插件

上文已經提到了 fastcgi_cache 有一個量身定做的WordPress緩存清理插件:Nginx Helper

所以,接下來我們就去安裝這個插件 。非常簡單,直接進入WordPress后臺插件安裝界面搜索 Nginx Helper 關鍵詞在線安裝即可。

安裝后,從后臺【工具】==>【Nginx Helper】打開插件設置界面如下所示:

Ps:順帶說一下后面2項的含義:

記錄插件日志:勾選這個選項后,插件設置下面會顯示日志記錄存放路徑。這個功能主要用來測試插件的設置,比如去已緩存的文字發(fā)表一個新的評論,然后看下日志里面是否出現(xiàn)刪除記錄。

插入緩存信息:勾選這個選項后,前臺頁面的源代碼底部將插入頁面的緩存信息,類似如下:

  1. <!--Cached using Nginx-Helper on 2015-05-30 12:34:22. It took 162 queries executed in 1.922 seconds.-->
  2.  
  3. <!--Visit http://wordpress.org/extend/plugins/nginx-helper/faq/ for more details-->

勾上第啟用緩存清理后,將出現(xiàn)如下選項:

該怎么設置,應該看圖就懂了吧?否則張戈苦逼的用中文標注了半天就白費功夫了!

清理模式選擇

上圖我也標注的比較清楚了,還是詳細解釋一下吧!

①、purge模式

這個模式需要保留上文 Nginx 配置中的 purge 清理路徑,清理的時候會產生一個請求。

出于安全考慮,一般 purge 都不會完全開放!只有特定的 IP 可以訪問,所以,如果用了CDN的朋友,再使用模式一,則需要在服務器上的hosts中強制一個真實IP,沒搞懂的話就放棄這個模式吧。

②、文件模式

模式二是直接清理對應的緩存文件,不需要請求 purge這個清理路徑,所以使用模式二,不需要配置上文 Nginx 的 purge 規(guī)則(我個人推薦使用這個模式)。

由于插件作者定義的緩存路徑是 /var/run/nginx-cache ,而我們可能會根據(jù)服務器實際情況來自定義緩存路徑,這樣一來,緩存路徑的不同就會導致插件無法找到緩存文件并刪除!

解決辦法:

很簡單,在WordPress根目錄下的wp-config.php中新增如下代碼即可:

  1. //根據(jù)實際情況定義緩存的存放路徑
  2.  
  3. define( 'RT_WP_NGINX_HELPER_CACHE_PATH','/tmp/cache/wpcache');

Ps:不知道添加到第幾行的話,可以添加到 define('WPLANG', 'zh_CN'); 的后面即可。添加后建議重載一下php,確保變量生效(主要針對開啟了PHP緩存的網站)。

三、效果預覽

①、緩存效果

替換新的配置,并且重載Nginx之后,訪問前臺頁面,查看header,會多出一個X-Cache 標志。

X-Cache 一般會有3個狀態(tài):MISS、HIT、BYPASS。

MISS表示未命中

即這個頁面還沒被緩存,新發(fā)布或剛被刪除的頁面,首次訪問將出現(xiàn)這個狀態(tài)(圖略)。

HIT表示緩存命中

打開一個會緩存的頁面,比如文章內容html頁面,F(xiàn)5刷新幾次即可在F12開發(fā)者模式當中的Header頭部信息中看到如圖緩存命中狀態(tài):

BYPASS表示緩存黑名單

即頁面路徑在Nginx規(guī)則中被設置成不緩存(set $skip_cache 1;),比如WP后臺,查看header:

如果你發(fā)現(xiàn)想要緩存的頁面卻是這個狀態(tài),就可以去檢查排除規(guī)則中是不是包含了這個路徑!反之,如果你發(fā)現(xiàn)后臺登錄不了,或者各種登陸態(tài)丟失問題,則應該到排除規(guī)則中加上該頁面路徑的關鍵字。

②、清理效果

這個插件和緩存的搭配非常好用,不管我們是發(fā)布文章,還是有人發(fā)表評論,插件都能根據(jù)我們的設置來清理對應的緩存!比如有人發(fā)表了一個自動審核通過的評論(或博主審核通過一條評論),插件將會自動刪除評論相關的文章緩存,具體看下上圖張戈貼出的標注即可。

如何查看插件是否正常工作呢?很簡單,勾選開啟插件日志,然后去點擊更新一篇舊文章,最后打開插件日志即可看到是否刪除記錄。

用Linux的朋友,可以直接使用tailf命令查看該日志,然后去更新文章即可看到效果,如下圖所示:

至于要證實是否真的刪除了緩存,我們可以先打開瀏覽器的開發(fā)者模式,定位到network界面,然后訪問剛剛更新的文章,即可看到如下狀態(tài):

很明顯,緩存已被成功刪除,首頁看都不用看,肯定也是這個狀態(tài)了。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
參照nginx官方樣本重新配置Wordpress站點
使用Nginx的proxy
使用Nginx的proxy_cache緩存取代Varnish
nginx的web緩存服務環(huán)境部署記錄
Nginx
【運維】中小型網站架構分析及優(yōu)化
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服