<menu id="sugmc"></menu>
<menu id="sugmc"></menu><dd id="sugmc"></dd>
<xmp id="sugmc">
  • <dd id="sugmc"><nav id="sugmc"></nav></dd>
  • <nav id="sugmc"></nav>
    <xmp id="sugmc"><menu id="sugmc"></menu>

    外貿商學院

    為客戶提供優質的服務始終是我們的使命,客戶的認可是我們始終的追求

    寶塔面板Nginx如何啟用fastcgi_cache緩存? WordPress提速

    本文將介紹如何通過寶塔面板在Nginx中啟用fastcgi_cache緩存,以提升WordPress網站的訪問速度和減輕服務器負擔。首先,我們將簡要介紹fastcgi_cache緩存的概念和作用。然后,我們將詳細指導如何在寶塔面板中配置Nginx以啟用fastcgi_cache緩存,設置插件。

     

     

    什么是fastcgi_cache緩存?

    fastcgi_cache是Nginx提供的一種緩存機制,用于提高動態內容的性能。它特別適合處理FastCGI協議的應用,比如 PHP(Wordpress)。fastcgi_cache從系統層面實現網頁靜態化,極大減少服務器負擔、并發能力以及提供提高網站加載速度。

     

     

    fastcgi_cache緩存有啥優點?

    很多人會好奇,對Wordpress來說,fastcgi_cache緩存跟常規通過Wp Rocket等插件實現緩存有啥區別?fastcgi_cache緩存是系統層面緩存,僅由Nginx處理 (PHP不參與),因此速度很快,能承擔很多并發。缺點是沒那么靈活、功能少、有點使用門檻,所以小白很少聽說這個緩存。

    通過Wp Rocket等插件實現的緩存是軟件層面的緩存,由PHP處理 (Nginx不參與),因此速度慢一些,占用服務器資源多。優點是通過插件控制,易用易懂、非常靈活,功能豐富,大眾最愛。

    我們經常跟服務器打交道,處理高并發、卡頓問題。絕大部分時候內存被耗盡或者CPU超負荷都是因為PHP在運行龐大任務導致。fastcgi_cache緩存不需要運行PHP,因此占用資源少很多,極大減輕服務器負擔。

    同時fastcgi_cache緩存由Nginx處理,所以計算鏈路比Wp Rocket等插件實現的緩存短很多,因此速度更快。fastcgi_cache緩存有些環境下甚至比Litespeed cache緩存還快!

    各種緩存平均響應時間對比↓(越短越好):

    Pasted 108

     

    注意:FastCGI_Cache對服務器性能要求高,如果是1H1G之類低配置,再怎么優化效果也不明顯。

    現在大部分人建站使用寶塔面板,便捷省事。下面分享寶塔面板開啟FastCGI_Cache緩存方法。

    注意:由于FastCGI_Cache會緩存PHP請求,可能會導致網站異常。例如閱讀量計數失效、緩存評論者信息、緩存登陸界面等,需要添加額外代碼排除。因此不建議新手使用FastCGI_Cache緩存。FastCGI_Cache緩存需要使用專門緩存插件。

     

     

    Nginx如何啟用fastcgi_cache緩存

    寶塔面板默認編譯了Nginx ngx_cache_purge 模塊,無需額外安裝,直接按下面教程操作即可。

     

     

    全局設置

    1登錄寶塔后臺,在軟件商店找到Nginx,點擊設置按鈕,在“配置修改”里添加以下內容:

    fastcgi_cache_path /tmp/wpcache levels=1:2 keys_zone=WORDPRESS:250m inactive=1d max_size=1G;fastcgi_temp_path /tmp/wpcache/temp;fastcgi_cache_key "$scheme$request_method$host$request_uri";fastcgi_cache_use_stale error timeout invalid_header http_500;#忽略一切 nocache 申明,避免不緩存偽靜態等fastcgi_ignore_headers Cache-Control Expires Set-Cookie;

    加好之后截圖如下:

    Pasted 104

     

     

    網站設置

    在寶塔后臺網站列表中找到相應網站,點擊“設置”按鈕,將以下代碼添加到配置文件中,第43行輸入網站服務器IP(外網)地址。代碼要按需調整!不同網站情況不一樣!再次勸退小白

    set $skip_cache 0;#post 訪問不緩存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;}#這里請參考你網站之前的配置,特別是sock的路徑,弄錯會顯示502!如果你的網站使用PHP7.4,就寫-74.socklocation ~ [^/]\.php(/|$){    try_files $uri =404;    fastcgi_pass unix:/tmp/php-cgi-74.sock;    fastcgi_index index.php;    include fastcgi.conf;      add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";    #新增的緩存規則    fastcgi_cache_bypass $skip_cache;    fastcgi_no_cache $skip_cache;    add_header X-Cache "$upstream_cache_status From $host";    fastcgi_cache WORDPRESS;    add_header Cache-Control  max-age=0;    add_header Nginx-Cache "$upstream_cache_status";    add_header Last-Modified $date_gmt;    add_header X-Frame-Options SAMEORIGIN; # 只允許本站用 frame 來嵌套    add_header X-Content-Type-Options nosniff; # 禁止嗅探文件類型    add_header X-XSS-Protection "1; mode=block"; # XSS 保護    etag  on;    fastcgi_cache_valid 200 301 302 1d;}#緩存清理配置location ~ /purge(/.*) {allow 127.0.0.1;allow "服務器外網IP"; # 引號要保留deny all;fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1";}

    加好之后截圖如下:

    Pasted 105

    添加完后保存,重啟Nginx就行,接下來是安裝設置緩存插件↓。

     

     

    安裝WordPress清理緩存插件

    FastCGI_Cache無法自動及時精準清理網站緩存,所以需要安裝配套緩存插件自動控制刷新緩存。后臺搜索、安裝Nginx Helper插件,這個插件專門為fastcgi_cache緩存打造。

    插件設置參考下圖(圖片來源: 張戈博客)。

    fastcache

    清理模式選擇Delete local server cache files,直接從服務器刪除緩存文件然后重新生成。

    我朋友奶爸建站測試發現Nginx fastcgi_cache緩存(404ms)速度比WP Super Cache + Memcached Object Cache緩存(455ms)快一點.

     

     

    判斷緩存狀態

    使用瀏覽器隱身模式打開網站前臺(未登錄狀態),按 F12 進入開發者工具 > “網絡” > 點網址> 點“標頭”查看詳情。

    Pasted 106

    Pasted 107

    HIT:緩存成功
    MISS:緩存失敗,建議刷新頁面2次看下有沒有變成HIT。
    BYPASS:跳過緩存
    EXPIRED:緩存過期

     

     

    進階教程

    其實fastcgi_cache緩存也可以和Wp Rocket緩存插件一起使用。配合使用的效果要比單獨使用Wp Rocket高27%左右,比單獨使用fastcgi_cache緩存相差無幾。只要安裝rocket-nginx,適當配置就行。這個方法使用門檻高,不懂別用。

    滾動至頂部
    扑克又疼又叫的视频软件