504 Gateway Time-out就字面意思,我們可以理解為網(wǎng)頁請求超時,也就是瀏覽網(wǎng)站網(wǎng)頁所發(fā)出的請求沒有反應(yīng)或者dao未響應(yīng),在網(wǎng)站程序?qū)用鎭碚f,就是請求未能夠執(zhí)行相應(yīng)的PHP-CGI程序,或者PHP-CGI程序未能做出相應(yīng)的處理,又或者是CGI程序的響應(yīng)處理結(jié)果未能夠反饋到瀏覽器或者未能及時反饋到瀏覽器。
是由于nginx默認的fastcgi進程響應(yīng)緩沖區(qū)太小造成: 這種情況下導(dǎo)致fastcgi進程被掛起,如果fastcgi服務(wù)隊這個掛起處理不是很好的話,就可能提示“504 Gateway Time-out”錯誤。
504 Gateway Time-out錯誤多是存在于Nginx網(wǎng)站服務(wù)器環(huán)境下,多與nginx.conf與php-fpm.conf設(shè)置是否正確合理有關(guān)。解決方法就是根據(jù)網(wǎng)站服務(wù)器性能及網(wǎng)站流量等諸多因素整合考慮,正確合理的設(shè)置niginx.conf和php-fpm.conf配置。
怎么解決?
1.進行正確合理nginx.conf配置,我們需要首先了解和清楚我們網(wǎng)站服務(wù)器的配置性能,包括CPU、內(nèi)存等,并對網(wǎng)站服務(wù)器進行必要的性能測試,從而準確的掌握網(wǎng)站服務(wù)器自身性能狀況;
2.通過網(wǎng)站統(tǒng)計代碼的添加,分析一段時間內(nèi)網(wǎng)站流量狀況,比如:CNZZ站長統(tǒng)計等,掌握網(wǎng)站日流量及PHP-CGI請求的大概情況;
3.根據(jù)我們掌握的服務(wù)器性能狀況及網(wǎng)絡(luò)流量情況,合理的對nginx.conf中的下列字句進行合理正確的設(shè)置。
4.還有就是php-fpm.conf中max_children與request_terminate_timeout兩個重要參數(shù)的設(shè)置。這兩個參數(shù)的設(shè)置需要我們根據(jù)PHP程序情況及服務(wù)器帶寬狀況綜合考慮并計算出合理準確的值,才能夠避免504 Gateway Time-out或者其他CGI無響應(yīng)錯誤的出現(xiàn)。