什麼是 502 錯誤網關錯誤以及如何在 WordPress 中修復它?
已發表: 2018-10-27
管理使用 WordPress 構建的網站很容易,但對隨時可能發生的錯誤進行故障排除同樣令人沮喪。 就像開出正確的藥物來有效對抗疾病一樣,需要對這種疾病有完整的了解; 在排除故障之前了解錯誤及其原因也很重要。
今天,討論中的錯誤是“WordPress 502 Bad Gateway Error”,它足以破壞您的網站,並在您忙碌的一天中花費一些寶貴的時間進行故障排除。
目錄
- 什麼是 502 錯誤網關錯誤?
- 為什麼WordPress會出現502 Bad Gateway錯誤?
- 修復 WordPress 中的 502 Bad Gateway 錯誤
- 檢查 Web 主機是否響應
- 重新加載頁面
- 清除瀏覽緩存
- 查找 DNS 問題
- 修復本地 DNS
- 禁用 CDN
- 審計主題和插件
- 檢查日誌
- PHP超時
- 檢查腳本
什麼是 502 錯誤網關錯誤?
要了解 502 Bad Gateway Error,您應該了解瀏覽器如何從服務器加載數據。 當用戶訪問網站時,服務器發送請求以獲取在瀏覽器中顯示內容所需的數據。
如果服務器準確響應請求,則它接收請求的內容,否則,出現 502 Bad Gateway Error 屏幕。
WordPress 網站在分配給特定任務的多台服務器上運行。 例如:
- WordPress 數據庫的數據庫服務器
- 用於運行 PHP 和其他應用程序相關內容的應用程序服務器
- 負責Nginx、Apache、Varnish的反向代理服務器
- 用於提供網站文件的 Web 服務器
多個服務器在一起會使瀏覽器處理請求的方式複雜化。 收到請求後,反向代理服務器會從源服務器(如數據庫服務器、應用程序服務器和 Web 服務器)獲取數據。
如果這些服務器中的任何一個發送無效響應,則反向代理服務器返回到瀏覽器並顯示 502 Bad Gateway Error。
我們經常在不同的網站上看到不同的 502 Bad Gateway Error,但它們都指向同一件事:服務器無法響應請求。 讓我們看一下此錯誤顯示的一些示例。
- “502錯誤的網關”
- “HTTP 錯誤 502 錯誤網關”
- “502服務暫時超載”
- “錯誤 502”
- “502 代理錯誤”
- “HTTP 502”
- “502 錯誤網關 NGINX”
- “502 服務器錯誤:服務器遇到臨時錯誤,無法完成您的請求”
- “502。 那是一個錯誤。 服務器遇到臨時錯誤,無法完成您的請求。 請在 30 秒後重試。 我們知道的就這些。”

Twitter 以更友好的方式顯示 505 Bad Gateway Error。

Google 顯示 505 Bad Gateway Error 並建議一段時間後重試。

現在我們已經了解什麼是 502 Bad Gateway Error 以及不同的網站如何顯示它。 讓我們繼續探索導致此錯誤的原因以及如何在 WordPress 中修復它?
為什麼WordPress會出現502 Bad Gateway錯誤?
當服務器無法準確響應並返回包含無效信息的請求時,我們會收到 502 Bad Gateway Error。 但是,還有其他可能性,如果您希望有效地解決此錯誤,了解它們很重要。
- 您的服務器正忙於其他任務或受到來自特定網站的主要流量的影響(在共享主機的情況下)
- 源服務器無響應或無法訪問
- 數據庫中的錯誤
- 反向代理服務器的問題
- 損壞文件中的 PHP 腳本,例如 WordPress 主題和插件。
- CDN 正在行動
- DNS 問題
上述所有可能性都可能導致 WordPress 502 錯誤網關錯誤。 但是,如果您不知道觸發該錯誤所涉及的要素,則對任何錯誤進行故障排除會變得更加棘手。
雖然我們已經對什麼是 502 Bad Gateway Error 以及它為什麼會發生有了一個完整的了解? 它為我們提供了進入下一節的票,其中涵蓋了此錯誤的修復程序。
您當前的 WordPress 託管是否表現不佳?
遷移到 Cloudways 並最大限度地提高 WordPress 的性能。
修復 502 錯誤網關錯誤
檢查 Web 主機是否響應
您需要做的第一件事是檢查您的 Web 服務器是否響應。 您的 WordPress 網站並不總是發生可怕的事情。
找出您的服務器是否確實是罪魁禍首的最簡單方法是運行在線掃描。 訪問site24x7並輸入您的 Web 服務器名稱。

多個位置將 ping 您的服務器並向您顯示諸如加載時間、包裹丟失和響應時間等統計信息。

檢查 Web 服務器響應能力的另一種方法是使用 SSH 手動 ping 它。
只需訪問 SSH、終端並運行以下命令:
ping(服務器IP)
現在,將“服務器 IP”替換為您的服務器 IP 地址。

如果您的服務器響應,它將在每個時間間隔顯示 ping。
有時任何查詢或任務都比平時花費更多的時間; 服務器取消它並返回 502 Bad Gateway Error。 這在共享託管中很常見,提供商會終止腳本以避免對同一服務器上託管的其他網站產生任何負面影響。
如果您在 Cloudways 上託管您的 WordPress 網站,那麼出現此錯誤的可能性很小。 那是因為您是服務器的唯一所有者並控制其上託管的網站,並且我們使用強大的堆棧來應對服務器上的負載。
但是,如果您仍然遇到此類問題,Cloudways 24/7 實時聊天支持可以幫助您從這種情況中恢復過來。
重新加載頁面
有時只需重新加載網頁,您就可以節省數小時的故障排除時間。 沒錯!
您可能會在一段時間內獲得超載的服務器,當您在一分鐘左右檢查回來時,它會重新啟動。
此外,請確認該網站是否僅針對您或其他所有人。 為此,只需測試Down For Everyone 或 Just Me上的 URL。

如果該網站適合其他所有人,那麼問題就出在您的身上。 嘗試切換網絡瀏覽器。
清除瀏覽緩存
瀏覽器能夠緩存或存儲網站數據,因此用戶下次訪問時,不必重新下載相同的靜態資源。 它是一種有效的資源利用方式,但也存在一些缺點。
假設您轉到了不同的瀏覽器並且網頁加載得很好。 知道您的網頁加載正確後,您返回到默認瀏覽器,但問題仍然存在。
那是因為您的瀏覽器正在向您顯示該網頁的緩存副本。 要解決這個問題,只需清除瀏覽器緩存。
查找 DNS 問題
域名系統或 DNS 的縮寫是將域名與 IP 地址鏈接的一種方式。 如果域無法解析為正確的 IP,則可能會觸發 502 Bad Gateway Error。 將WordPress 網站遷移到新主機時,我們會看到此錯誤,這需要更改 DNS 名稱服務器。
更改可能需要 24 到 36 小時才能傳播。 在此期間,如果您嘗試訪問您的網站,您可能會收到 WordPress 502 錯誤網關錯誤。
修復本地 DNS
我們可以從 Windows 命令提示符清除 DNS 緩存。 在 Windows 操作系統中,運行 ipconfig/flushdns 命令清除 DNS 緩存。 在 Mac OS 中,在終端窗口中將命令作為 dscacheutil -flushcache 運行。
禁用 CDN
內容分發網絡 (CDN) 被廣泛用於服務網站的靜態內容。 這是一種有用的技術,可以更快地向全球受眾提供 Web 內容。 但是,由於服務器和瀏覽器之間的額外層,CDN 可能是 WordPress 502 錯誤網關錯誤的原因之一。
要從您的可能原因列表中排除此問題,只需禁用 CDN 服務,然後嘗試訪問您的網站。 如果網站加載正確,那麼您已經抓住了罪魁禍首。 您只需要聯繫 CDN 支持,如果沒有,我們建議您繼續關注本文的其餘部分。
審計主題和插件
主題和插件在任何 WordPress 網站中都發揮著重要作用。 如果不添加主題和插件,幾乎不可能擁有功能齊全的網站。 它們也可能成為 WordPress 502 錯誤網關錯誤的原因。
包含錯誤 PHP 代碼的主題和插件可能會導致服務器無法理解或需要太多時間來處理的問題。 這會導致 502 Bad Gateway 錯誤。
首先從 FTP 停用所有插件。 只需訪問安裝 WordPress 文件的根目錄,即 public_html 文件夾,導航到 wp-content → plugins 並重命名 plugins 文件夾,因此 WordPress 系統無法訪問它。

現在檢查您的網站,如果加載正常,然後開始一個一個激活插件,直到找到導致問題的那個。
如果您沒有發現任何有問題的插件,請繼續尋找有問題的主題。 在 wp-content 文件夾中,導航到主題並重命名激活的主題以停用它。 刪除它可能不是合適的選項,因為再次上傳它可能會丟失自定義樣式。

現在返回您的網站,如果您看到白屏而不是錯誤,那麼 Vola! 你的主題導致了這個問題。 登錄您的wp-admin並激活默認主題。
檢查日誌
WordPress 日誌在排除錯誤時很有用。 我們可以通過在wp-config.php文件中添加以下代碼來啟用錯誤日誌。
定義('WP_DEBUG',真); 定義('WP_DEBUG_LOG',真); 定義('WP_DEBUG_DISPLAY',假);
日誌位於 wp-content 文件夾內。 Cloudways 用戶可以利用集成監控工具New Relic進行精確和全面的分析。
PHP超時
當 PHP 達到服務器配置中允許的最長時間來執行腳本時,它會顯示錯誤。 它有時會觸發 WordPress 502 錯誤網關錯誤。 為避免這種情況,只需增加最大執行時間值。 默認情況下,它設置為 300 秒,即 5 分鐘。
檢查腳本
我們在 WordPress 中創建自定義功能和主題。 這些自定義函數可能是您的服務器無法處理它們的原因。 此外,調用第三方API,如谷歌驗證碼,從而產生長令牌可以把壓力在服務器上,並將其與502錯誤網關錯誤返回。
最後的想法!
我們希望在閱讀本文後,502 錯誤網關錯誤在您下次看到時不會看起來那麼可怕。 如果您可以預測來源並使用本文中列出的技術來修復它,則故障排除很容易。 我們仍然可以通過重新加載和清除瀏覽器緩存來修復 WordPress 502 Bad Gateway Error,但並非每天都是晴天,因此為黑暗做好準備是明智的。
