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 反向代理以及负载均衡实验的主要内容,如果未能解决你的问题,请参考以下文章