1. 程式人生 > >nginx反向代理的五種負載演算法。

nginx反向代理的五種負載演算法。

在負載反向代理的演算法上,共有五種:輪詢、ip_hash、weight、fair(第三方)、url_hash(第三方)

輪詢是預設的,每一個請求按順序逐一分配到不同的後端伺服器,如果後端伺服器down掉了,則能自動剔除。(如果又存活了,能自動加進來嗎?)

  配置檔案如下:

 upstream test {

server 192.168.109.5:81;

server 192.168.109.3:80;

}

測試結果:

[[email protected] conf]# for i in $(seq 10); docurl http://192.168.109.4  ;done

192.168.109.5  It is work!

192.168.109.3 It is work!

192.168.109.5  It is work!

192.168.109.3 It is work!

192.168.109.5  It is work!

192.168.109.3 It is work!

192.168.109.5  It is work!

192.168.109.3 It is work!

192.168.109.5  It is work!

192.168.109.3 It is work!

weight是設定權重,用於後端伺服器效能不均的情況,訪問比率約等於權重之比

配置檔案:

upstream test {

server 192.168.109.5:81 weight=1;

server 192.168.109.3:80 weight=5;

}

測試結果:

[[email protected] conf]# for i in $(seq 10); docurl http://192.168.109.4  ;done

192.168.109.5 It is work!

192.168.109.3 It is work!

192.168.109.3 It is work!

192.168.109.3 It is work!

192.168.109.3 It is work!

192.168.109.3 It is work!

192.168.109.5  It is work!

192.168.109.3 It is work!

192.168.109.3 It is work!

192.168.109.3 It is work!

測試結果一直是訪問這個1次,再訪問那個5次,反覆迴圈。

ip_hash 解決了session問題:每個請求按訪問IP的hash結果分配,這樣每個訪客可以固定一個後端伺服器。

配置檔案:

 upstream test {

           ip_hash;

server 192.168.109.5:81;

server 192.168.109.3:80;

}

測試結果:

[[email protected] conf]# for i in $(seq 10); docurl http://192.168.109.4  ;done

192.168.109.5  It is work!

192.168.109.5  It is work!

192.168.109.5  It is work!

192.168.109.5  It is work!

192.168.109.5  It is work!

192.168.109.5  It is work!

192.168.109.5  It is work!

192.168.109.5  It is work!

192.168.109.5  It is work!

192.168.109.5  It is work!

fair (第三方)按後端伺服器的響應時間來分配請求,響應時間短的優先分配。

配置檔案:

upstream test {

server 192.168.109.5:81;

server 192.168.109.3:80;

fair;

}

url_hash (第三方) 按訪問URL的hash結果來分配請求,使每個URL定向到同一個後端伺服器,後端伺服器為快取時比較適用。另外,在upstream中加入hash語句後,server語句不能寫入weight等其他引數。

配置檔案:

upstream test {

server squidIP1:3128;

server squidIP2:3128;

           hash  $request_uri;

           hash_method  crc32;

        }

 upstream test {

           ip_hash;

server 192.168.109.5:81;down

server 192.168.109.4:80 weight=2 max_fails=2fail_timeout=30s;

server 192.168.109.3:80 backup;

}

#down 暫時不參與負載

#weight 權重

#max_fail 允許請求失敗的次數,預設為1

#fail_timeout max_fail次失敗後,暫停的時間

#backup 所有其他非backup機器down或者忙的時候,才請求backup。所以這臺機器壓力最輕。

location / {

   proxy_pass        http://test/;   #將請求傳到負載伺服器池

        }

root 指令:指定目錄

proxy_pass proxy_store  proxy_cache :實現快取代理

expires 指定快取時間

相關推薦

nginx反向代理負載演算法

在負載反向代理的演算法上,共有五種:輪詢、ip_hash、weight、fair(第三方)、url_hash(第三方) 輪詢是預設的,每一個請求按順序逐一分配到不同的後端伺服器,如果後端伺服器down掉了,則能自動剔除。(如果又存活了,能自動加進來嗎?)  

Nginxnginx反向代理與tomcat負載均衡

前言         nginx反向代理大大節省了伺服器開支,通過配置多個虛擬主機,使多個服務共同的使用虛擬的80埠。 首先,某個伺服器上有多個tomcat服務,分別佔用一個埠。先看配置檔案。 tomcat服務1 upstream sina{ server 192

nginx反向代理mysql及負載

RKE nobody 客戶 not redirect shared dir conn 自動 下載地址: http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.15.9-1.el7_4.ngx.x86

Nginx反向代理負載均衡

Nginx反向代理與負載均衡   叢集簡介 簡單地說,叢集就是指一組(若干個)相互獨立的計算機,利用高速通訊網路組成的一個較大的計算機服務系統,每個叢集節點(即叢集中的每臺計算機)都是執行各自服務的獨立伺服器。這些伺服器之間可以彼此通訊,協同向用戶提供應用程式,系統資源和資料,並以

Nginx 反向代理負載均衡與動靜分離

nginx1、環境:前端Nginx服務器:主機名:server1 IP:172.25.80.1 編譯安裝nginx1..12 後端tomcat: Server2--ip:172.25.80.2 主機名:server2 Server3--ip:172.25.80.3 主機名:server32、Ng

nginx反向代理+負載均衡

-- lib 安裝環境 vim dev usr 代理服務 png 安裝nginx 關閉防火墻 檢查zlib-devel pcre-devel是否安裝 源碼編譯安裝Nginx ./configure --prefix=/usr/local/nginx make &&a

EG:nginx反向代理兩臺web服務器,實現負載均衡 所有的web服務共享一臺nfs的存儲

分享 代理服 /dev/ 負載均衡 chmod 修改 修改配置 防火墻 usr step1: 三臺web服務器環境配置:iptables -F; setenforce 0 關閉防火墻;關閉setlinux step2:三臺web服務器 裝軟件 step3:主機修改配置文件

Nginx反向代理負載均衡部署指南

命令 eva http ddr cli 僅支持 新版 ive app nginx不單能夠作為強大的webserver,也能夠作為一個反向代理server,並且nginx還能夠依照調度規則實現動態、靜態頁面的分離。能夠依照輪詢、ip哈希、URL哈希、權重等多種

nginx反向代理負載均衡

nginx 負載均衡1.反向代理概述反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個反向代理服務器。環境準備:主機名IP地址角色系統

【Web】Nginx 反向代理負載均衡

連接 代理服務器 body 後端服務 style 執行 class redirect 配置文件 反向代理   反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給in

Nginx 反向代理負載均衡

log 內存 error 通過 簡介 set ams worker 並發 ## Nginx 反向代理。 (一)簡介   一、什麽是代理服務器     客戶機原本發送給服務器的請求,不會直接發送給服務器,而是先發送給代理服務器;經過代理服務器處理後轉發給服務器;服務器數據處理

[轉]Nginx反向代理負載均衡部署指南

時間 digg upstream 後端服務 clu server 1.2 部署 ostc Nginx反向代理和負載均衡部署指南 1. 安裝 1) 從Nginx官網下載頁面(http://nginx.org/en/

Nginx反向代理實現會話(session)保持的兩方式 (轉)

upstream 適用於 反向代理 ip_hash 負載 amp 丟失 tail 基於 http://blog.csdn.net/gaoqiao1988/article/details/53390352 一、ip_hash: ip_hash使用源地址哈希算法,將同一客戶

項目實戰2.2—nginx 反向代理負載均衡、動靜分離和緩存的實現

需求分析 配置 反向代理 cells color 一個數 cal 數據庫 data 實驗一:實現反向代理負載均衡且動靜分離 1、環境準備: 機器名稱 IP配置 服務角色 備註 nginx

項目實戰02:nginx 反向代理負載均衡、動靜分離和緩存的實現

pro 9.png 二次 數據 服務器 默認 html 數據庫 空間 目錄 實驗一:實現反向代理負載均衡且動靜分離 1、環境準備: 2、下載編譯安裝tengine 3、設置代理服務器的配置文件 4、啟動tengine服務 5、開啟後端的web服務

Nginx反向代理以及負載均衡配置

ces 指定 cep msi 負載 禁止 大小 解決 nginx配置 項目地址:http://git.oschina.net/miki-long/nginx 前提:最近在研究nginx的用法,在windows上小試了一下,由於windows下不支持nginx緩存配置,所以本

nginx 反向代理負載均衡

fall tro 反向代理服務器 OS expec proxy body 配置 inter 假設我們在 192.168.137.11:8080 上有一個web服務,在 192.168.137.12 配置了一臺 nginx,我們可以進行如下配置: location / {

nginx反向代理負載均衡(輪詢權重IPHash)

-s 圖片服務器 後臺管理 session AI 需要 new 守護進程 weight 1 Nginx反向代理 1.1 實現圖片回顯 1.1.1 反向代理 說明:當用戶發出image.jt.com/2018/1.jpg時,首先將請求發往Nginx.經過Nginx內部

nginx反向代理tomacat+keepalived實現動靜分離、負載均衡、高可用

時間 超時 error css 權限命令 上傳 轉發 onf ioc 本文的動靜分離主要是通過nginx+tomcat來實現,其中nginx處理圖片、html、JS、CSS等靜態文件,tomcat處理jsp、servlet等動態請求 服務器名稱

Nginx反向代理負載均衡

Nginx反向代理(Reverse Proxy): 是指代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將服務器得到的結果返回給internet上請求連接的客戶端; 基本的反向代理: location [option] URI { proxy_pass http://