nginx 反向代理以及负载均衡实验

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 反向代理以及负载均衡实验相关的知识,希望对你有一定的参考价值。

实验一:controlelr1作为nginx 反向代理服务器,将静态内容代理到controller3,将php内容代理到controller2

快速部署:controller1地址:9.110.187.120,10.1.1.120,contorller2\\3地址+1

controller2安装httpd,php,php已module方式与httpd结合,controler3安装httpd,提供简单的测试页面。

controller1部署nginx,部分配置信息如下:

        location / {
                proxy_pass      http://10.1.1.122;    #controller3地址
                root            /var/www/html;
                index           index.html;
        }

        location ~*\\.php$ {
                proxy_pass      http://10.1.1.121;    #controller2地址
        }

测试效果

技术分享

技术分享


补充1:此时后端httpd日志记录的一直是controller1的IP地址,此时更改配置,记录真实客户端地址。

更改前如图:技术分享

在nginx的http段中定义一个首部信息,值为$remote_addr

技术分享

修改后端httpd日志信息,令其记录nginx添加的首部信息

技术分享

重新启动nginx和httpd后可以记录客户端IP

技术分享

补充2:nginx添加缓存功能

nginx 缓存功能需要定义在http配置段中

proxy_cache_path    /var/nginxcache/        level=1:1       keys_zone=nginxcache:10m;

定义缓存路径为/var/nginxchache,名称为nginxcache,时效10m

缓存定义后可在http,server,locaiton中调用:

技术分享

在controller3上放置一张图片,访问后controller1缓存功能开启

技术分享

实验二:nginx 负载均衡

在nginx 中定义upstream,将controller2,controller3添加进来

技术分享

注释掉缓存相关配置,定义权重,连接失败次数3,超时5秒,效果如图

技术分享技术分享

 

以上是关于nginx 反向代理以及负载均衡实验的主要内容,如果未能解决你的问题,请参考以下文章

Nginx代理——正向反向代理,动静分离和负载均衡

Nginx反向代理以及负载均衡配置

项目实战02:nginx 反向代理负载均衡动静分离和缓存的实现

Nginx反向代理以及负载均衡配置

Nginx反向代理+负载均衡

Nginx反向代理+负载均衡