nginx 负载均衡配置(加解决重复登录问题)
目录
一:源码安装:
1.配置编译参数
2.编译
3.编译安装
二,四层代理和七层代理区别
1.二者混合使用举例:
2.解决重复登录问题:
三:负载均衡常见的四种策略
1.轮询
2.加权轮询
3.最少连接
4.加权最少连接
一:源码安装:
nginx配置
1.配置编译参数
2.编译
make
3.编译安装
make install
二,四层代理和七层代理区别
所代理的osi模型不一样
1.二者混合使用举例:
# 同时配置四层和七层代理
events {worker_connections 1024;
}http { # 七层代理upstream web_backend {server 10.0.0.10:8080;}server {listen 80;location / {proxy_pass http://web_backend;}}
}stream { # 四层代理upstream mysql_backend {server 10.0.0.20:3306;}server {listen 33060;proxy_pass mysql_backend;}
}
实战配置如下:
weight为设置服务器权重值,默认是1
max_fails设置最大失败次数,就失败多少次,判定该服务器故障
fail_timeout设置失败超时时间,单位为秒,即失败后,多少秒内不再检查访问该服务器
down标记服务器已关机,不参与集群调度
2.解决重复登录问题:
修改proxy的nginx配置文件,添加ip_hash,使同一ip始终访问同一Web地址
三:负载均衡常见的四种策略
此处使用docker 安装nginx
docker run -d -v /opt/index0.html/:/usr/share/nginx/html/index.html -p80 nginx:latestdocker run -d -v /opt/index1.html:/usr/share/nginx/html/index.html -p80 nginx:latestdocker run -d -v /opt/index2.html:/usr/share/nginx/html/index.html -p80 nginx:latest# 创建三个web端服务
在/opt/目录下创建三个文件 为index0.html,index1.html.index2.html创建内容分别为
1
22
333docker run -d -v /root/nginx.conf:/etc/nginx/nginx.conf -p80 nginx:latest创建nginx 代理端docker cp 99:/etc/nginx/nginx.conf /root/ (99为容器名)将web端中nginx的主配置文件 复制下载, 便于后续修改代理端配置文件
如下为初始化nginx的主配置文件
/etc/nginx/nginx.conf
容器创建如下:
第一个为代理端,后三个为web端
1.轮询
即依次按顺序进行访问
2.加权轮询
即按权重排名,权重越大访问的次数越多
如 下,若访问6次,74 访问2次 75 访问3次 76访问1次。
3.最少连接
即选择连接数最少的服务器
4.加权最少连接
即选择权重,连接数最少的服务器
访问页面: