ngx_http_upstream_module模塊學習筆記

ngx_http_upstream_module用於將多個服務器定義成服務器組,而由proxy_pass,fastcgi_pass等指令引用php

(1)upstream name  {...} 定義一個後端服務器組,name爲組名,只能用於http上下文中nginx

(2) server address [parametrs] 在upstream中定義一個服務器及其相關參數;僅能用於upstream上下文web

 

weight=number:定義服務器權重,默認爲1算法

max_fails=number:最大失敗鏈接嘗試次數後端

fail_timeout=number:等待目標服務器發送響應的時長tomcat

proxy_pass http://backserver  反代至upstream中定義的組服務器

其它指令不作介紹,前面的博文有詳細說明spa

 

(3)ip_hash 源地址hash,把來自同一個ip地址的請求始終發往同一個backend server,除非此backend server不可用3d

 

若是web頁面已經綁定了第一臺server,而如今我在後面添加了down參數(手動標記其再也不處理任何用戶請求)則再次請求時會由第二臺server發送響應server

(4) least_conn 最少鏈接;當各server權重不一樣時,即爲加權最少鏈接(算法:當前鏈接數/權重)

(5) health_check [parameters]; 健康狀態檢測機制;只能用於location上下文 (官方的nginx對後端服務器的健康狀態檢測不完善,但淘寶的tengine的完善了此功能)

 

使用upstream模塊和proxy_pass模塊作動靜分離

若是後端是httpd+php服務器

 

若是後端是tomcat服務器