如何在 WordPress 中使用清漆
已發表: 2020-07-05緩慢加載的網站使用起來很痛苦,而且它們可能會讓您的用戶付出代價。 另外,考慮到有多少方法可以提高性能,包括緩存,沒有任何理由讓網站緩慢。
有很多方法可以實現緩存,以及可以幫助您完成工作的工具。 在本文中,我們將討論反向代理的工作原理,並教您如何在 WordPress 中使用 Varnish。
讓我們開始吧!
什麼是反向代理(以及為什麼要使用反向代理)?
代理也稱為“中間”服務器。 在大多數情況下,這些服務器位於用戶和網絡的其餘部分之間。 代理根據一組特定的規則過濾用戶請求。
舉個例子,您的互聯網服務提供商 (ISP) 或工作場所可能會使用代理來阻止您訪問特定網站。 您還可以使用代理服務器來保護您的隱私、加密網絡請求或繞過網絡限制。
另一方面,“反向”代理位於 Internet 和您的 Web 服務器之間。 他們的工作是過濾傳入的請求。 以下是為您的網站使用反向代理的一些好處:
- 負載均衡。 如果您有多個 Web 服務器,反向代理可以根據每台計算機的負載路由請求。
- 增強隱私。 使用反向代理會隱藏您的終端服務器的信息。 如果有人在四處窺探,他們只會看到反向代理。
- 管理多個安全套接字層 (SSL) 證書。 您的反向代理可以處理傳入的 HTTP 請求,並從您的終端服務器獲取所需的未加密數據。
- 緩存目的。 反向代理可以緩存您網站的靜態和動態內容,從而減少服務器的負載。
總而言之,反向代理非常酷。 如果您主要關心的是提高 WordPress 網站的性能,那麼緩存是您可以使用的最佳工具之一。
但是,有幾種方法可以利用緩存。 您可以依靠用戶的瀏覽器來存儲數據,或使用內容交付網絡 (CDN) 來管理緩存。 或者,您可以實現反向代理緩存。 這正是 Varnish 可以為 WordPress 用戶做的事情。
WordPress 清漆簡介

Varnish 是一個開源的全頁面緩存工具,可以作為反向代理。 這意味著它可以充當最終用戶和您的網站之間的中介。 每次有人訪問該站點時,Varnish 都會檢查自己的緩存,看看它是否有他們想要查看的頁面的副本。 如果沒有,它將獲取該頁面,然後將其存儲以備後用。
實際上,Varnish 可以顯著提高服務器的性能。 這是因為提供緩存內容比從頭開始呈現內容要容易得多。 通過為 WordPress 使用 Varnish,您可以保存網站上所有不經常更改的資產的副本。 如果您定期清除或更新該緩存,在大多數情況下,它應該可以為您的網站提供像素完美的渲染。
正如我們前面提到的,代理服務器在處理請求時遵循特定的規則。 Varnish 使用自己的內部規則語言,稱為 Varnish 配置語言 (VCL)。 實際上,VCL 使您可以完全控制代理服務器的配置,因此您需要先熟悉它。
您還可以使用“VMOD”來擴展 Varnish 的核心功能,這些模塊是增強該工具的模塊。 Varnish 官方網站維護了一個流行的 VMODS 存儲庫,所以也可以隨時查看。
要使 Varnish 工作,您必須直接在服務器上安裝該工具。 這意味著您需要訪問命令行,這排除了共享主機計劃中的命令行。 但是,如果您使用的是虛擬專用服務器 (VPS)、雲環境,甚至是專用服務器,請繼續閱讀以了解如何在 WordPress 中設置 Varnish。
如何為 WordPress 設置清漆(分 3 個步驟)
在本教程中,您將在服務器級別進行一些更改。 如果您對使用命令行或修改服務器感到不舒服,您可能需要在開始之前仔細閱讀所有說明。 此外,最好先備份您的網站,以防萬一。
第 1 步:在您的服務器上安裝 Varnish
要安裝 Varnish,您需要通過命令行訪問您的服務器。 然後您必須安裝該工具,調整其 VCL 文件,並配置您的服務器以使用它。
對於這一步,請繼續查看 Vanish 針對基於 UNIX 的服務器的官方安裝說明。 該簡短教程包括您需要按正確順序使用的所有命令。
一旦你安裝了 Varnish 並配置你的 web 服務器以與它一起工作,記得重新啟動一切。 然後,您就可以微調 WordPress 以與您的新工具一起使用了。
步驟 2:設置代理緩存清除插件
理想情況下,您希望配置 Varnish 在預定時間清除其緩存。 這樣,它就不會為訪問者提供您內容的過時版本。
在 WordPress 中執行此操作的最佳方法是每次更新頁面或帖子(或創建新頁面)時清除反向代理緩存。 正如您想像的那樣,有一個插件可以為您執行此操作,稱為代理緩存清除:


我們喜歡這個插件,因為它不會在您發布或編輯頁面或帖子時清除整個緩存。 相反,它只針對首頁的緩存、編輯的內容和相關的分類法。 插件自動清除整個反向代理緩存的唯一時間是您更改主題時。
Proxy Cache Purge 不需要任何額外配置,但您必須啟用自定義永久鏈接才能使插件正常工作。 如果您還沒有使用自定義永久鏈接結構(您應該使用!),請查看我們的指南以了解如何設置。 任何結構都可以,所以請隨意選擇您最喜歡的。
第 3 步:為 WordPress 配置您的清漆設置
如果您按照 Varnish 的官方設置說明進行操作,您最終會得到一個適用於 WordPress 但未針對該平台進行優化的配置文件。
要為 WordPress 優化 Varnish,我們建議對您的 VCL 文件進行三處小改動:
- 配置 Varnish 以忽略特定 cookie。
- 排除您的 WordPress 管理和登錄頁面。
- 延長反向代理緩存持續時間。
您可以通過命令行使用文本編輯器打開 Varnish 配置文件來完成此操作。 您要查找的文件是default.vcl ,它應該位於此處:
/etc/varnish/default.vcl
打開文件並向其中添加以下代碼片段,這是由官方 Varnish 文檔提供的:
#unsetting wordpress cookies
sub vcl_rec{
..
set req.http.cookie = regsuball(req.http.cookie, "wp-settings-\d+=[^;]+(; )?", "");
set req.http.cookie = regsuball(req.http.cookie, "wp-settings-time-\d+=[^;]+(; )?", "");
set req.http.cookie = regsuball(req.http.cookie, "wordpress_test_cookie=[^;]+(; )?", "");
if (req.http.cookie == "") {
unset req.http.cookie;
}=
}
# exclude wordpress login and admin urls
if (req.url ~ "wp-admin|wp-login") {
return (pass);
}
# extending caching time
sub vcl_backend_response {
if (beresp.ttl == 120s) {
set beresp.ttl = 1h;
}
}將更改保存到default.vcl ,您就可以開始了。 您的反向代理服務器已準備好使用 WordPress。 現在 Varnish 不會每兩分鐘(這是默認設置)聯繫您的服務器,而是每小時一次。
結論
如果您可以完全訪問您的服務器,那麼為 WordPress 實施反向代理是一種改善用戶加載時間的有效方法。 另外,使用反向代理可以讓您的服務器處理更重的流量負載,因為 Varnish 會為您處理首當其衝的工作。
您需要訪問您的服務器才能為 WordPress 設置 Varnish。 之後,安裝和配置只需要三步:
- 在您的服務器上安裝 Varnish。
- 設置代理緩存清除插件。
- 為 WordPress 配置您的清漆設置。
您對如何在 WordPress 中使用 Varnish 有任何疑問嗎? 讓我們在下面的評論部分中討論它們!
Studio_G/shutterstock.com 的文章縮略圖
