简介
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 的多