目录
一:源码安装:
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:latest
docker run -d -v /opt/index1.html:/usr/share/nginx/html/index.html -p80 nginx:latest
docker 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
333
docker 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.加权最少连接
即选择权重,连接数最少的服务器
访问页面: