做網(wǎng)站的同學(xué)經(jīng)常會發(fā)現(xiàn)一些nginx服務(wù)器訪問時候提示504 Gateway Time-out錯誤,而出現(xiàn)這種錯誤有兩種情況,第一種可能是由于nginx默認(rèn)的fastcgi進(jìn)程響應(yīng)的緩沖區(qū)太小造成的, 這將導(dǎo)致fastcgi進(jìn)程被掛起, 如果你的fastcgi服務(wù)對這個掛起處理的不好, 那么最后就極有可能導(dǎo)致504 Gateway Time-out。
而第二種就有可能是PHP環(huán)境的配置問題,有些網(wǎng)站一直是使用nginx做代理后端的apache運(yùn)行php來提供服務(wù)。apache經(jīng)常會不定期不定時間的出現(xiàn)不能服務(wù)失去響應(yīng),然后nginx出現(xiàn)”504 Gateway Time-out”。

第一、網(wǎng)站程序的狀態(tài)
使用的是織夢CMS,也就是我們常說的DEDECMS,是一款比較老牌且目前也已經(jīng)不再更新的免費(fèi)PHP CMS程序。這款程序也是很多新手比較喜歡的,除了他交互功能安全性差之外,但是在配置模板的時候還是相當(dāng)簡單使用的,以前在公司做網(wǎng)站時候都是用的這個CMS程序。
DEDECMS程序尤為的適合內(nèi)容型網(wǎng)站,看到這個同學(xué)也是用的用來采集內(nèi)容的。我看到他后臺大約有幾萬的數(shù)據(jù),他都是采集的數(shù)據(jù),然后生成HTML頁面開始一會沒有問題,等會就出現(xiàn)504 Gateway time-out問題。
第二、配置問題
我們看到上面的問題,肯定很多朋友都猜測到問題所在,數(shù)據(jù)太多是不是服務(wù)器配置不夠。于是我看他的服務(wù)器配置,是1G1M的。但是如果你是采集數(shù)據(jù),甚至幾萬,十幾萬的數(shù)據(jù),可能采集慢慢入庫還沒有問題,如果是一次性的生產(chǎn)HTML肯定是不行的。
第三、解決方案嘗試
這里麥站網(wǎng)提出來幾個解決方案。一來是我們生成的時候,不要一次性全部生成,我們可以分欄目慢慢生成,如果你一次性幾萬的生成肯定是不行的。
其次,我們需要調(diào)優(yōu)NGINX配置,稍微提高下參數(shù)。

配置參數(shù)稍微調(diào)優(yōu),但是這個也不是完全的。我們需要做的就是升級服務(wù)器配置,你好歹需要4G3M左右的配置。
最后,這位同學(xué)是升級服務(wù)器配置且采用分欄目升級后解決問題的,暫時還沒出現(xiàn)504 Gateway time-out問題。
最后,一般遇到這樣的問題,我們采用JS調(diào)用廣告的模式,我們可以將廣告設(shè)置在JS中,這樣在需要調(diào)整的時候只需要變動JS的內(nèi)容,就不要再生成HTML,一般大數(shù)據(jù)的HTML頁面是很少去全站生成靜態(tài)的。









