nginx配置-負載均衡

續:nginx安裝配置


ngx_http_upstream_module模塊允許自定義一組服務器。它們可以在指令proxy_pass、fastcgi_pass和 memcached_pass中被引用到。

基於 upstream 模塊負載均衡配置
  • 依次調整配置

配置文件加載順序:nginx.conf --> conf.d/*.conf
文件 conf.d/*.conf 中內容是 server 模塊,upstream 模塊平級且先於 server 模塊配置,放到 nginx.conf 中。

    # 負載均衡
    upstream backserver {
        server 127.0.0.1:8080;
    }

    include /etc/nginx/conf.d/*.conf;

對應調整 conf.d/XXX.conf

location / {
        root   html;
        index  index.html index.htm;
        proxy_pass http://backserver; // 反向代理轉向 upstream 
}

負載均衡策略

  • 輪詢(默認)

每個請求按時間順序逐一分配到不同的服務器,如果後端服務down掉,能自動剔除。

upstream backserver {
        server 192.168.2.171;
        server 182.168.2.172;
}
  • 權重輪詢

指定輪詢機率,weight和訪問比率成正比,用於後端服務器性能不均的情況。

upstream backserver {
        server 192.168.2.171 weight=10;
        server 182.168.2.172 weight=20;
}
  • 訪問ip_hash

按每個請求訪問的ip的hash結果分配,用於將每個訪問ip固定訪問一個服務器。

upstream backserver {
        ip_hash;
        server 192.168.2.171;
        server 182.168.2.172;
}
  • 訪問url_hash

按每個請求訪問的url的hash結果分配,用於將每個訪問url定向到同一個服務器。

upstream backserver {
        server 192.168.2.171;
        server 182.168.2.172;
        hash $request_uri;
        hash_method crc32;
}
  • fair

fair fast 思想,按後端服務的響應時間來分配,響應時間短的優先分配。

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