502 Bad Gateway Error with nginx

源頭

在攥寫「七天學會設計模式 - Singleton」時,發生了點小狀況。
我點擊 WordPress 的「全部文章」時,顯示 502 Bad Gateway 的錯誤訊息;
由於點下去後不久(一、兩秒內)就跳轉出錯誤,故猜測不是 timeout 的關係,
便開始了一段 debug 的故事⋯⋯

環境

我是使用 WordPress(不是重點)的框架,並架設在 Vultr 的主機上;
主機的主要規格為 CPU 1 vCore、RAM 1024 MB、25 GB SSD。
 

原因

透過 nginx 的 error log(cat /var/log/nginx/wordpress_https_error.log)
發現關鍵字:
upstream sent too big header while reading response header from upstream
拿去餵狗的結果是,需要調整 nginx.conf(vim /etc/nginx/nginx.conf),
加上

來調整 buffer size,來避免資源不足直接捨棄的情況(502)。
由於 5 塊美金的方案,Vultr 僅提供 1024 MB 的記憶體大小,但它有 25 GB 的 SSD!
故可以透過 Swap 的方式,用硬碟換取記憶體的效能。

依序輸入完後,可以輸入「free」來看 swap 是否有使用相對應的 size 了!
便可以解決 nginx 因資源不足所產生的 502 Bad Gateway error!

Archie

An iOS developer with Swift.

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Bitnami