nginx(一)

localtion的語法

已=開頭表示精確匹配
如 A 中只匹配根目錄結尾的請求,後面不能帶任何字符串。html

^~ 開頭表示uri以某個常規字符串開頭,不是正則匹配nginx

~ 開頭表示區分大小寫的正則匹配;算法

~* 開頭表示不區分大小寫的正則匹配後端

/ 通用匹配, 若是沒有其它匹配,任何請求都會匹配到服務器

幾個案例:網絡

server {
        listen       80;
        server_name  www.itmayiedu.com;
        #精確匹配,/後面不能帶任何字符
        location =/ {
            proxy_pass http://127.0.0.1:8080;
            index  index.html index.htm;
        }
}

負載均衡的幾種算法

  • 輪詢機制
  • 權重
  • IP綁定
  • faiil
  • url

tip

在nginx1.9以前nginx指支持七層負載均衡,應用層的負載均衡(所謂七層,物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層、)在1.9以後支持了四層傳輸協議也就是網絡層的負載均衡。本質上時支持那個層的協議。session

負載均衡的配置

#上游服務器 
upstream  backServer{
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }
    
    server {
        listen       80;
        server_name  www.itmayiedu.com;
        location / {
            ### 指定上游服務器負載均衡服務器
            proxy_pass http://backServer;
            index  index.html index.htm;
        }
    }

帶權重的配置

upstream  backServer{
    server 127.0.0.1:8080 weight=1;
    server 127.0.0.1:8081 weight=2;
    }
    
    server {
        listen       80;
        server_name  www.itmayiedu.com;
        location / {
            ### 指定上游服務器負載均衡服務器
         proxy_pass http://backServer;
            index  index.html index.htm;
        }
    }

Ip綁定

每一個請求按訪問IP的哈希結果分配,使來自同一個IP的訪客固定訪問一臺後端服務器,而且能夠有效解決動態網頁存在的session共享問題。俗稱IP綁定。負載均衡

upstream  backServer{
        server 127.0.0.1:8080 ;
        server 127.0.0.1:8081 ;
        ip_hash; 
    }
    
    server {
        listen       80;
        server_name  www.itmayiedu.com;
        location / {
            ### 指定上游服務器負載均衡服務器
            proxy_pass http://backServer;
            index  index.html index.htm;
        }
    }

故障轉移

當上遊服務器(真實訪問服務器),一旦出現故障或者是沒有及時相應的話,應該直接輪訓到下一臺服務器,保證服務器的高可用。url

server {
        listen       80;
        server_name  www.itmayiedu.com;
        location / {
        ### 指定上游服務器負載均衡服務器
        proxy_pass http://backServer;
        ###nginx與上游服務器(真實訪問的服務器)超時時間 後端服務器鏈接的超時時間_發起握手等候響應超時時間
        proxy_connect_timeout 1s;
        ###nginx發送給上游服務器(真實訪問的服務器)超時時間
         proxy_send_timeout 1s;
        ### nginx接受上游服務器(真實訪問的服務器)超時時間
         proxy_read_timeout 1s;
         index  index.html index.htm;
        }
    }
相關文章
相關標籤/搜索