如何解決“504 Gateway Time out”錯誤

我們在訪問大流量網站或者運營有較多數據的網站時候,偶爾會出現504 Gateway Time-out錯誤,這多是網站服務器配置不當導致的,下面分享一下504GatewayTime-out錯誤的解決方法。

如何解決“504 Gateway Time out”錯誤

操作方法

代碼釋義
504 Gateway Time-out就是字面意思,可以理解爲網頁請求超時,也就是瀏覽網站網頁所發出的請求沒有反應或者未響應,在網站程序層面來說,就是請求未能夠執行相應的PHP-CGI程序,或者PHP-CGI程序未能做出相應的處理,又或者是CGI程序的響應處理結果未能夠反饋到瀏覽器或者未能及時反饋到瀏覽器。

報錯背景
504 Gateway Time-out錯誤多是存在於Nginx網站服務器環境下,多與與設置是否正確合理有關。解決方法就是根據網站服務器性能及網站流量等諸多因素整合考慮,正確合理的設置和配置。

解決方法
進行正確合理配置,我們需要首先了解和清楚我們網站服務器的配置性能,包括CPU、內存等,並對網站服務器進行必要的性能測試(可參考:vps主機性能測試方法詳解),從而準確的掌握網站服務器自身性能狀況;

如何解決“504 Gateway Time out”錯誤 第2張

其次,是通過網站統計代碼的添加,分析一段時間內網站流量狀況,比如:CNZZ站長統計等,掌握網站日流量及PHP-CGI請求的大概情況;

最後,根據我們掌握的服務器性能狀況及網絡流量情況,合理的對中的下列字句進行合理正確的設置。 
fastcgi_connect_timeout300s;
fastcgi_send_timeout300s;
fastcgi_read_timeout300s; 
fastcgi_buffer_size128k;
fastcgi_buffers8128k;#8128 
fastcgi_busy_buffers_size256k;
fastcgi_temp_file_write_size256k;
fastcgi_intercept_errorson;

還有就是中max_children與request_terminate_timeout兩個重要參數的設置。這兩個參數的設置需要我們根據PHP程序情況及服務器帶寬狀況綜合考慮並計算出合理準確的值,才能夠避免504 Gateway Time-out或者其他CGI無響應錯誤的出現。