max_fails和fail_timeout參數是配合使用的,按默認值,當某台upstream server掛了,表示在10s(fail_timeout)之內,有1(max_fails)個請求打到這台掛了的服務器,nginx就會把這台upstream server設為down機的狀態,時長是10s,在這10s內如果又有請求進來,就不會被轉到這台server上,過了10s重新認為這台server又恢復了
---------------------
作者:w_albert
來源:CSDN
原文:https://blog.csdn.net/zhaowenbo168/article/details/53000451
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
fail_timeout=0表示不檢測
location / {
root html;
index index.html index.htm;
http://localhost; //可通過域名訪問
proxy_connect_timeout 1; #單位為秒
proxy_send_timeout 1;
proxy_read_timeout 1;
}
---------------------
作者:莫棄c
來源:CSDN
原文:https://blog.csdn.net/qq_29311303/article/details/52887609
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
proxy_connect_timeout 1; #單位為秒
proxy_send_timeout 1;
proxy_read_timeout 1;
表示一個請求到某個服務器,1s之后沒有響應就發向另一個服務器
upstream hello.api.com{
ip_hash;
server 127.0.0.1:8080 fail_timeout=10;
server 127.0.0.1:8081 fail_timeout=10;
server 127.0.0.1:8082 fail_timeout=10;
server 127.0.0.1:8083 fail_timeout=10;
server 127.0.0.1:8084 fail_timeout=10;
server 127.0.0.1:8085 fail_timeout=10;
server 127.0.0.1:8086 fail_timeout=10;
server 127.0.0.1:8087 fail_timeout=10;
server 127.0.0.1:8088 fail_timeout=10;
}
location / {
proxy_pass http://hello.api.com;
proxy_redirect default;
proxy_connect_timeout 1; #單位為秒
#proxy_send_timeout 1;
#proxy_read_timeout 1;
}
這樣配置之后,第一次請求不通,需要花費5秒鍾時間,來找到合適的服務器,然后接下來的10內,正確服務器之前的服務器都不會接受請求了,所以只要100多ms,每隔10s,會有一個5s。