nginx的負載均衡

nginx的負載均衡

Nginx的語法:

syntax:upstreamname{...}

default:

context:http

Upstream對負載均衡的定義

Name標記爲備份服務器

Definesagroupofservers.Serverscanlistenondifferentports.Inaddition,serverslisteningonTCPandUNIX-domainsocketscanbemixed.

Example:

upstreambackend{

serverbackend1.example.comweight=5;

server127.0.0.1:8080max_fails=3fail_timeout=30s;

serverunix:/tmp/backend3;

}

ExampleConfiguration

upstreambackend{

serverbackend1.example.comweight=5;

serverbackend2.example.com:8080;

serverunix:/tmp/backend3;

serverbackup1.example.com:8080backup;

serverbackup2.example.com:8080backup;

}

server{

location/{

proxy_passhttp://backend;

}

}

weight=number

設定服務器的權重,默認是1。

max_fails=number

設定Nginx與服務器通信的嘗試失敗的次數。在fail_timeout參數定義的時間段內,如果失敗的次數達到此值,Nginx就認爲服務器不可用。在下一個fail_timeout時間段,服務器不會再被嘗試。失敗的嘗試次數默認是1。設爲0就會停止統計嘗試次數,認爲服務器是一直可用的。你可以通過指令proxy_next_upstream、fastcgi_next_upstream和memcached_next_upstream來配置什麼是失敗的嘗試。默認配置時,http_404狀態不被認爲是失敗的嘗試。

fail_timeout=time

設定

統計失敗嘗試次數的時間段。在這段時間中,服務器失敗次數達到指定的嘗試次數,服務器就被認爲不可用。

服務器被認爲不可用的時間段。

默認情況下,該超時時間是10秒。

backup

標記爲備用服務器。當主服務器不可用以後,請求會被傳給這些服務器。

舉例:

Nginx作爲代理服務器,爲後方的兩臺apache服務器負載均衡,它的的前端ip地址是192.168.20.200後端ip地址192.168.30.200server1apache服務器ip地址爲192.168.30.100它的權重爲1,Server2apache服務器它的ip地址爲192,.168.30.101,權重爲2.

upstreambackend{

server192.168.30.100weight=1;

server192.168.30.101weight=2;

}

server{

location/{

proxy_passhttp://backend;

}

}

如圖所示:

173711255.png

Server1的站點主目錄下的inndex.php的內容是myweight=1

Server2的站點主目錄下的inndex.php的內容是myweight=2

當訪問nginx的前端地址192.168.20.200,將會被代理到server1server2server的權重是1,所以當用戶第一次請求連接nginx時,顯示的頁面將是sever1站點主目錄下首頁的內容。Server2的權重是2,當用戶第二和第三次請求連接nginx時,顯示的頁面將是sever,2站點主目錄下首頁的內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章