一、啥時候用到
用來設置請求資源和服務器返回的時間,保證一個請求占用固定時間,超出后報504超時!這樣可以保證一個請求占用過長時間。
二、主要參數
使用nginx服務器如果遇到timeou情況時可以如下設置參數,使用fastcgi:
fastcgi_connect_timeout 75; 鏈接
fastcgi_read_timeout 600; 讀取
fastcgi_send_timeout 600; 發請求
這兩個選項.
fastcgi_read_timeout是指fastcgi進程向nginx進程發送response的整個過程的超時時間
fastcgi_send_timeout是指nginx進程向fastcgi進程發送request的整個過程的超時時間
這兩個選項默認都是秒(s),可以手動指定為分鐘(m),小時(h)等
三、其他常用參數以及參數說明
keepalive_timeout 600; 連接超時時間,1分鐘,具體時間可以根據請求(例如后臺導入)需要的時間來設置
proxy_connect_timeout 600; 1分鐘
proxy_read_timeout 600; 1分鐘
nginx超時配置參數說明:
keepalive_timeout
語法 keepalive_timeout timeout [ header_timeout ]
默認值 75s
上下文 http server location
說明 第一個參數指定了與client的keep-alive連接超時時間。服務器將會在這個時間后關閉連接??蛇x的第二個參數指定了在響應頭Keep-Alive: timeout=time中的time值。這個頭能夠讓一些瀏覽器主動關閉連接,這樣服務器就不必要去關閉連接了。沒有這個參數,nginx不會發送Keep-Alive響應頭(盡管并不是由這個頭來決定連接是否“keep-alive”)
兩個參數的值可并不相同
注意不同瀏覽器怎么處理“keep-alive”頭
MSIE和Opera忽略掉"Keep-Alive: timeout=<N>" header.
MSIE保持連接大約60-65秒,然后發送TCP RST
Opera永久保持長連接
Mozilla keeps the connection alive for N plus about 1-10 seconds.
Konqueror保持長連接N秒
proxy_connect_timeout
語法 proxy_connect_timeout time
默認值 60s
上下文 http server location
說明 該指令設置與upstream server的連接超時時間,有必要記住,這個超時不能超過75秒。
這個不是等待后端返回頁面的時間,那是由proxy_read_timeout聲明的。如果你的upstream服務器起來了,但是hanging住了(例如,沒有足夠的線程處理請求,所以把你的請求放到請求池里稍后處理),那么這個聲明是沒有用的,由于與upstream服務器的連接已經建立了。
proxy_read_timeout
語法 proxy_read_timeout time
默認值 60s
上下文 http server location
說明 該指令設置與代理服務器的讀超時時間。它決定了nginx會等待多長時間來獲得請求的響應。這個時間不是獲得整個response的時間,而是兩次reading操作的時間。
新聞熱點
疑難解答