1. 程式人生 > >深究Nginx502 bad gateway, 504 Gateway Time-out的徹底解決

深究Nginx502 bad gateway, 504 Gateway Time-out的徹底解決

我的VPS是256M的記憶體,CPU是四核心的,所以更多的我會在乎記憶體。而在我除錯伺服器的時候通常會遇到Nginx502 bad gateway和504 Gateway Time-out的錯誤。分析nginx.conf我發現server和fastcgi的buffers過多,導致fastcgi請求的數量過大,php-fpm無法及時處理而出錯。循此思路我們可以再總體buffers不變的情況下減少請求數量,具體的ningx.conf改動細節如下:
                server_names_hash_bucket_size 128;
                client_header_buffer_size 32k;
                large_client_header_buffers 1 128k;# 4 32k
                client_max_body_size 8m;

                sendfile on;
                tcp_nopush     on;

                keepalive_timeout 60;

                tcp_nodelay on;

                fastcgi_connect_timeout 300;
                fastcgi_send_timeout 300;
                fastcgi_read_timeout 300;
                fastcgi_buffer_size 128k;
                fastcgi_buffers 2 256k;#8 128
                fastcgi_busy_buffers_size 256k;
                fastcgi_temp_file_write_size 256k;
                fastcgi_intercept_errors on;

                gzip on;
                gzip_min_length  1k;
                gzip_buffers     1 64k; #4 16
                gzip_http_version 1.0;
                gzip_comp_level 2;
                gzip_types       text/plain application/x-javascript text/css application/xml;
                gzip_vary on;

另外,php-fpm的預設靜態處理方式會使得php-cgi的程序長期佔用記憶體而無法釋放,這也是導致nginx出錯的原因之一,因此可以將php-fpm的處理方式改成apache模式。
        <value name=”style”>apache-like</value>

從更改完畢到現在的測試表明上述方式的效果還是很明顯的,並沒有發現一次Nginx502 bad gateway或504 Gateway Time-out錯誤。當然,如果你的VPS或者伺服器的效能足夠好可以根據具體情況不必做無謂的改動。

相關推薦

深究Nginx502 bad gateway, 504 Gateway Time-out徹底解決

我的VPS是256M的記憶體,CPU是四核心的,所以更多的我會在乎記憶體。而在我除錯伺服器的時候通常會遇到Nginx502 bad gateway和504 Gateway Time-out的錯誤。分析nginx.conf我發現server和fastcgi的buffers過多,

nginx出現504 Gateway Time-out解決思路

str pst bus conn OS head agent cti 時間限制 http://www.xbc.me/nginx-fix-504-gateway-timeout/ 在安裝完Nginx+PHP-fpm+Mysql後 (如何安裝LNMP環境,請參考快速配置LN

nginx 504 Gateway Time-out錯誤解決辦法

解決 甚至有 我們 term conn 客戶端 出了 pos erro 轉載 nginx 504 Gateway Time-out錯誤解決辦法 我們經常會發現大量的nginx服務器訪問時會提示nginx 504 Gateway Time-out錯誤了,下面我來總結了一些解

wdcp php執行90秒後報報504 Gateway Time-out解決方法

修改/www/wdlinux/nginx-1.0.15/conf/naproxy.conf前3項,重啟nginx和apache就好了。 proxy_connect_timeout 30s; proxy_send_timeout   90; proxy_read_timeou

Nginx 報錯 504 Gateway Time-out解決方法

報錯資訊504 Gateway Time-out原因是程式執行時間過長,導致請求超時。解決方法首先,儘可能地優化程式程式碼的執行時間。其次,修改配置檔案。修改 php.ini 配置檔案。max_execution_time = 600修改 nginx.conf 配置檔案。ke

pip 出現Read Time out解決方法

在pip install XXX的時候,如果出現Read Time out Error: HTTPSConnectionPool(host='pypi.python.org', port=443)的話,表明網路連線到python官方庫過慢,解決的方法是換一個網站下載。 pi

Read Time out Exception 解決辦法

在http請求時,報Read Time Out Exception異常 原因是:網路超時 解決辦法: 在建立httpClient例項時 RequestConfig.Builder config_builder = RequestConfig.custom();config_

PuTTY/Xshell連線遠端伺服器提示connection time out解決方案

剛註冊一臺雲伺服器時,想使用PuTTY/Xshell來在本地遠端連線伺服器,發現會出現以下錯誤提示: Network error: Connection time out 對於新註冊的雲伺服器,什麼都沒有配置,不存在什麼防火牆設定、端口占用的情況。 在本地ping雲

Jedis遠端連線Redis伺服器報錯(connect time out解決方案

前言 通過redis的java客戶端Jedis遠端連線redis伺服器報錯,錯誤資訊如下: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource

502 Bad Gateway and 504 Gateway Time-out

502 504 502 Bad Gateway:作為網關或者代理工作的服務器嘗試執行請求時,從上遊服務器接收到無效的響應。主要為nginx和上遊服務器協議不同,沒法解析或響應504 Gateway Time-out:作為網關或者代理工作的服務器嘗試執行請求時,未能及時從上遊服務器(URI標識出的服務器

深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway Time-out

Nginx 502 Bad Gateway的含義是請求的PHP-CGI已經執行,但是由於某種原因(一般是讀取資源的問題)沒有執行完畢而導致PHP-CGI程序終止。 Nginx 504 Gateway Time-out的含義是所請求的閘道器沒有請求到,簡單來說就是沒有請求到可以執行的PHP-CGI。

如何解決504 Gateway Time-out錯誤

解決辦法 cti alt pos name icon 進行 http src SEO反饋百度爬蟲經常504,一般情況下是由nginx默認的fastcgi進程響應慢引起的,但也有其他情況,這裏我總結了一些解決辦法供大家參考。

nginx代理 前端埠不能正常訪問(504 Gateway Time-out) 一個可能的原因

在使用angular架構時,遇到了前端埠不能正常訪問,(504 Gateway Time-out)的問題,搜了很多方法都不對,最後才發現原來是自己曾執行nginx但沒有主動關閉。 開啟工作管理員看一下,正常情況下nginx的程序只有5個,如果多次開啟nginx,並且沒有正常stop它(ng

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

情況一:由於nginx預設的fastcgi程序響應緩衝區太小造成 這種情況下導致fastcgi程序被掛起,如果fastcgi服務隊這個掛起處理不是很好的話,就可能提示“504 Gateway Time-out”錯誤。 情況一解決辦法:

504 Gateway Time-out錯誤的解決方法

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

使用git報錯error: RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out

使用git clone程式碼的時候報如下錯誤: Cloning into 'FanHeIOSV2'... error: RPC failed; HTTP 504 curl 22 The request

解決nginx 504 Gateway Time-out的方法

我解決nginx 504 Gateway Time-out的方法 我的應用是nginx+tomcat7  根據這個錯誤,是因為tomcat沒有及時迴應nginx,導致錯誤. 先使用 fiddler 將頁面的請求抓出來. 找到504的請求.然後查詢原因. 因為這個請

git clone 遭遇 RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out The

今天從碼雲上clone一個專案,等待一會後,一直提示RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 Gateway Time-out The remote end hung up unex

轉載:如何解決504 Gateway Time-out”錯誤

情況二解決辦法(nginx配置修改):      為了減少fastcgi的請求次數,儘量維持buffers不變,我們要更改nginx的幾個配置項,如下:      將fastcgi_buffers由4 64k改為2 256k;      將fastcgi_buffer_size 由64k改為128k;    

504 Gateway Time-out 錯誤處理記錄

20190713 新建了一個 phpmyadmin,在 import 一個 install.sql 執行的時候,發現nginx 配