nginx為docker容器新增負載均衡
阿新 • • 發佈:2020-12-18
簡介
nginx作為當前最流行的負載均衡和反向代理伺服器,docker容器是完全使用沙箱機制效能開銷極低,為了將資料流平攤到多個相同的容器中我們可以在nginx中配置好節點做好負載均衡。
使用
-
docker-compose配置
bridge1: image: xxxxx container_name: bridge ports: - '3001:1986/tcp' restart: always networks: - uemp-net bridge2: image: xxxxx container_name: bridge ports: - '3002:1986/tcp' restart: always networks: - uemp-net
3001和3002埠號就是我們要在nginx中分流的埠號
uemp-net配置的是172.18.0.1
-
nginx配置
user www www; worker_processes auto; error_log /www/wwwlogs/nginx_error.log crit; pid /www/server/nginx/logs/nginx.pid; worker_rlimit_nofile 51200; events { use epoll; worker_connections 51200; multi_accept on; } stream { upstream vgateway-bridge { server 172.18.0.1:3001 weight=1; server 172.18.0.1:3002 weight=1; } server { listen 13014; proxy_pass vgateway-bridge; } } http { }
stream節點是網站的負載均衡的資訊,叢集中有多少個站點就設定多少個即可
nginx 預設是輪詢的 ,weight=1 是權重分配 ,都是1表示平均分配,如果3002這臺weight =2 而 43 為1 ,表示3002的權重大,訪問轉3002 的多