nginx 504 Gateway Time-out錯(cuò)誤解決方法
一般看來, 這種情況可能是由于nginx默認(rèn)的fastcgi進(jìn)程響應(yīng)的緩沖區(qū)太小造成的, 這將導(dǎo)致fastcgi進(jìn)程被掛起, 如果你的fastcgi服務(wù)對(duì)這個(gè)掛起處理的不好, 那么最后就極有可能導(dǎo)致504 Gateway Time-out
現(xiàn)在的網(wǎng)站, 尤其某些論壇有大量的回復(fù)和很多內(nèi)容的, 一個(gè)頁面甚至有幾百K
默認(rèn)的fastcgi進(jìn)程響應(yīng)的緩沖區(qū)是8K, 我們可以設(shè)置大點(diǎn)
在nginx.conf里, 加入:
fastcgi_buffers 8 128k
這表示設(shè)置fastcgi緩沖區(qū)為8×128k
當(dāng)然如果您在進(jìn)行某一項(xiàng)即時(shí)的操作, 可能需要nginx的超時(shí)參數(shù)調(diào)大點(diǎn), 例如設(shè)置成60秒:
send_timeout 60;
我只是調(diào)整了這兩個(gè)參數(shù), 結(jié)果就是沒有再顯示那個(gè)超時(shí), 可以說效果不錯(cuò)
另一篇文章
首先是更改php-fpm的幾處配置:
把max_children由之前的10改為現(xiàn)在的30,這樣就可以保證 有充足的php-cgi進(jìn)程可以被使用;
把request_terminate_timeout由之前的0s改為60s,這樣php-cgi進(jìn)程 處理腳本的超時(shí)時(shí)間就是60秒,可以防止進(jìn)程都被掛起,提高利用效率。
接著再更改nginx的幾個(gè)配置項(xiàng),減少FastCGI的請(qǐng)求次 數(shù),盡量維持buffers不變:
fastcgi_buffers由 4 64k 改為 2 256k;
fastcgi_buffer_size 由 64k 改為 128K;
fastcgi_busy_buffers_size 由 128K 改為 256K;
fastcgi_temp_file_write_size 由 128K 改為 256K。
好了,重新加載php-fpm和nginx的配置,再次測(cè)試,至今兩周時(shí)間內(nèi)沒有再出現(xiàn)504 Gateway Time-out的情況,算是達(dá)到效果了。
另外,php-fpm的默認(rèn)靜態(tài)處理方式會(huì)使得php-cgi的進(jìn)程長期占用內(nèi)存而無法釋放,這也是導(dǎo)致nginx出錯(cuò)的原因之一,因此可以將php-fpm的處理方式改成apache模式。
apache-like
- 解決nginx“504?Gateway?Time-out”錯(cuò)誤
- Nginx服務(wù)器中414錯(cuò)誤和504錯(cuò)誤的配置解決方法
- Nginx PHP-Fcgi中因PHP執(zhí)行時(shí)間導(dǎo)致504 Gateway Timeout錯(cuò)誤解決記錄
- 一次nginx 504 Gateway Time-out錯(cuò)誤排查、解決記錄
- Nginx 502 bad gateway和Nginx 504 Gateway Time-out錯(cuò)誤解決方法 錯(cuò)誤解決辦法
- 當(dāng) Nginx 出現(xiàn) 504 錯(cuò)誤的完美解決方法
相關(guān)文章
nginx反向代理proxy_pass遇到的死循環(huán)問題
這篇文章主要介紹了nginx反向代理proxy_pass遇到的死循環(huán)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
ubuntu系統(tǒng)中nginx啟動(dòng)腳本
這篇文章主要介紹了ubuntu系統(tǒng)中nginx啟動(dòng)腳本,可以實(shí)現(xiàn)nginx的自啟動(dòng),需要的朋友可以參考下2014-02-02
Debian系統(tǒng)下為PHP程序配置Nginx服務(wù)器的基本教程
這篇文章主要介紹了Debian系統(tǒng)下為PHP程序配置Nginx服務(wù)器的基本教程,這里使用到了FastCGI和php-fpm,需要的朋友可以參考下2015-12-12
Keepalived實(shí)現(xiàn)Nginx負(fù)載均衡高可用的示例代碼
這篇文章主要介紹了Keepalived實(shí)現(xiàn)Nginx負(fù)載均衡高可用的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Nginx實(shí)現(xiàn)接口復(fù)制的示例代碼
本文主要介紹了使用Nginx的mirror指令和Lua腳本實(shí)現(xiàn)接口流復(fù)制,方便將請(qǐng)求同時(shí)轉(zhuǎn)發(fā)到多個(gè)后端服務(wù)器,具有一定的參考價(jià)值,感興趣的可以了解一下2025-01-01

