Nginx反向代理的组件模块
upstream模块介绍->点我<
http_proxy_module模块介绍->点我<
1)四台服务器都需操作如下步骤:
2)LB节点源码安装nginx:
说明:上面源码安装的nginx,配置文件路径:/application/nginx/conf/nginx.conf 二进制启动命令路径:/application/nginx/sbin/nginx
3)web节点yum安装nginx及准备测试文件:
4)web站点配置hosts解析及测试nginx是否能够正常访问
完成上面的lb节点的软件安装及web节点的测试文件准备后,下面开始配置案例,说明,先配置单节点的lb,也就是先只在(centos7-1)lb1 上面进行配置。
案例一:最基本的负载均衡
编辑lb1(192.168.3.101)配置文件,编辑之前记得将默认配置文件进行备份
我们用lb2机器来测试(用任何一台都可以),测试结果可以看出,会轮循调度到后端web节点上
案例二:基于权重(wrr)
同样使用lb2机器来进行测试,可以发现调度后端节点编程了1:2,调度到web2节点上面总是会多一次。
案例三:较完整的 upstream 配置案例
同样使用lb2机器来进行测试,在测试过程中,关闭其中一个web节点,会发现只是调度到另外一个节点上面,然后再重启关闭的节点,观察测试输出内容,会发现尝试的时间。
案例四:基于域名的负载
修改配置文件为以下内容
编辑/etc/hosts文件,进行域名解析,此处为了方便,直接在lb1节点上面编辑并测试(如果需要在别的节点进行测试,那么进行域名解析即可)
测试发现基于域名ok,因为上面配置的权重都为1,所以不论我们访问哪一个域名,都会轮循去调度后端web节点。
案例五:记录客户端真实IP
先到web节点上面查看访问日志
通过观察日志发现,记录的都负载均衡器节点的IP,实际生产环境中都是记录真实客户端IP。
进行修改配置文件(lb节点)将location 段加上 proxy_set_header X-Forwarded-For $remote_addr;
使用lb2节点进行测试(我们将lb2当做一个客户端访问),然后我们再去查看日志就可以发现,记录了客户端的真实IP地址。
案例六:根据不同的URI 调度到不同的服务器
常见架构图
梳理:1、当用户请求 www.etiantian.org/upload/xx 地址时,实现由upload上传服务器池处理请求;2、当用户请求 www.etiantian.org/static/xx 地址时,实现由静态服务器池处理请求;3、除此之外,对于其它访问请求,全部由默认的动态服务器池处理请求。如下图:
在wab服务器上面准备测试文件
配置LB,修改lb1配置文件进行配置
在lb2(模拟客户端)节点上面进行测试,结果可以看到根据不同的url调度到不同的服务器上面了。
本文地址:http://lanlanwork.gawce.com/quote/8014.html 阁恬下 http://lanlanwork.gawce.com/ , 查看更多