Nginx集羣配置

Nginx簡介

 Nginx (engine x) 是一個高性能的HTTP反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。Nginx是由伊戈爾·賽索耶夫爲俄羅斯訪問量第二的Rambler.ru站點(俄文:Рамблер)開發的,第一個公開版本0.1.0發佈於2004年10月4日。html

Nginx是一款輕量級Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,在BSD-like 協議下發行。其特色是佔有內存少,併發能力強,事實上nginx的併發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:百度、京東新浪網易騰訊淘寶等。node

nginx處理請求是異步非阻塞,事件驅動的,因此在高併發的狀況下,依然有很好的性能。nginx

非阻塞:把整個過程切換成小的任務,經過任務間協做完成。 由一個專門的線程來處理全部的 IO 事件,並負責分發。web

事件驅動:經過事件的觸發來調用,而不是異步監視。算法

反向代理簡介

 在計算機網絡中,反向代理是代理服務器的一種。服務器根據客戶端的請求,從其關係的一組或多組後端服務器(如Web服務器)上獲取資源,而後再將這些資源返回給客戶端,客戶端只會得知反向代理的IP地址,而不知道在代理服務器後面的服務器簇的存在。後端

一句話總結,反向代理就是服務器找服務器,而不是客戶端找服務器的前向代理。服務器

 NgInx的安裝

  1. 從官網下載最新nginx-1.9.0.,下載地址爲:http://nginx.org/en/download.html
  2. 安裝nginx完畢之後,進入conf目錄
  3. 找到nginx.conf配置文件

 nginx的配置文件介紹

 

events {
    worker_connections  1024; //nginx默認鏈接數
}

upstream test.top{//集羣的名字
  ip_hash;//nginx的策略之一
  #server 192.168.1.63:8081 weight=1;//weight權重,數字越大被使用的概率越高。
  #server 39.98.245.21:8080;
  .
  .
  .//能夠配置無限多個服務器
  
}

 server {
  listen 80;//nginx監聽的端口
  server_name localhost;網絡

  #location / {
  #root html;
  #index index.html index.htm;
  #}併發

 

  location / {負載均衡

  proxy_pass http://test.top;

  proxy_redirect default;

  }

}

 

 Nginx的策略介紹

  1. 權重配置:

    weight和請求數量成正比,主要用於上游服務器配置不均衡的狀況。下面的配置中,192.168.10.2機器的請求量是192.168.10.1機器請求量的2倍。

    upstream test.top {

    server 192.168.10.1:8668 weight=5;

    server 192.168.10.2:8668 weight=10;

    }

  2. ip_hash配置:

    每個請求按照請求的ip的hash結果分配。這樣每個請求固定落在一個上游服務器,可以解決ip會話在同一臺服務器的問題。

    upstream nodes {

    ip_hash;

    server 192.168.10.1:8668;

    server 192.168.10.2:8668;

    }

  3. fair配置:

    按上游服務器的響應時間來分配請求。響應時間短的優先分配。

    upstream nodes {

    server 192.168.10.1:8668;

    server 192.168.10.2:8668;

    fair;

    }

  4. url_hash配置:

    按照訪問的url的hash結果來分配請求,使每個url定向到同一個上游服務器。注意:在upstream中加入hash語句。server語句中不能寫入weight等其餘的參數,hash_method是使用的hash算法。

    upstream nodes {

    server 192.168.10.1:8668;

    server 192.168.10.2:8668;

    hash $request_uri;

    hash_method crc32;

    }

  5. upstream中經常使用的配置項:

    down:表示當前的server不參與負載均衡。

    weight:默以爲1,weight越大,負載的權重就越大。

    max_fails :請求失敗的次數默以爲1。

    fail_timeout : max_fails次失敗後,暫停請求此臺服務器的時間。

    backup: 其餘所有的非backup機器down或者忙的時候,請求backup機器。因此這臺機器壓力會最輕。

    upstream nodes {

    ip_hash;

    server 192.168.10.1:8668 down;

    server 192.168.10.2:8668 weight=2;

    server 192.168.10.3:8668;

    server 192.168.10.4:8668 backup;

    }

相關文章
相關標籤/搜索