Nginx 實現負載均衡

什麼是負載均衡

負載均衡創建在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增長吞吐量、增強網絡數據處理能力、提升網絡的靈活性和可用性。html

負載均衡,英文名稱爲 Load Balance,其意思就是分攤到多個操做單元上進行執行,例如 Web 服務器、FTP 服務器、企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工做任務。nginx

Nginx 實現負載均衡

  • nginx 做爲負載均衡服務器,用戶請求先到達 nginx,再由 nginx 根據負載配置將請求轉發至 tomcat 服務器
  • nginx 負載均衡服務器:192.168.75.145:80
  • tomcat1 服務器:192.168.75.145:9090
  • tomcat2 服務器:192.168.75.145:9091

Nginx 配置負載均衡

修改 /usr/local/docker/nginx/conf 目錄下的 nginx.conf 配置文件:docker

user  nginx;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    upstream myapp1 {
        server 192.168.75.145:9090 weight=10;
        server 192.168.75.145:9091 weight=10;
    }

    server {
        listen 80;
        server_name nginx.funtl.com;
        location / {
            proxy_pass http://myapp1;
            index index.jsp index.html index.htm;
        }
    }
}
`

相關配置說明

# 定義負載均衡設備的 Ip及設備狀態 
upstream myServer {
    server 127.0.0.1:9090 down;
    server 127.0.0.1:8080 weight=2;
    server 127.0.0.1:6060;
    server 127.0.0.1:7070 backup;
}
`

在須要使用負載的 Server 節點下添加tomcat

  • upstream:每一個設備的狀態:
  • down:表示當前的 server 暫時不參與負載
  • weight:默認爲 1 weight 越大,負載的權重就越大。
  • max_fails:容許請求失敗的次數默認爲 1 當超過最大次數時,返回 proxy_next_upstream 模塊定義的錯誤
  • fail_timeout:max_fails 次失敗後,暫停的時間。
  • backup:其它全部的非 backup 機器 down 或者忙的時候,請求 backup 機器。因此這臺機器壓力會最輕</div>
相關文章
相關標籤/搜索