nginx使用学习之正向代理、反向代理、负载均衡( 二 )


 

nginx使用学习之正向代理、反向代理、负载均衡

文章插图
 
 
nginx使用学习之正向代理、反向代理、负载均衡

文章插图
 
Nginx 负载均衡 配置实例
1. 实现效果
浏览器地址栏输入地址 http://208.208.128.122/edu/a.html,负载均衡效果,平均 8081 和 8082 端口中
2. 准备工作
a.准备两台 tomcat 服务器
准备两台 tomcat 服务器,一台 8081,一台 8082
上面的反向代理第二个实例中已经配置成功了 。但是需要添加点东西,如下哦 。
b. 修改一处
在两台 tomcat 里面 webApps 目录中,创建名称是 edu 文件夹,在 edu 文件夹中创建 页面 a.html,用于测试 。
由于第二个实例中,8082中有了 edu 的文件夹,所以只在8081 文件夹下创建即可 。
然后使用在vod文件下使用命令:
cp a.html ../edu/即可完成,
查看命令
cd ../edu/ # 进入到 edu 目录下cat a.html #查看内容c. 测试页面
测试URL
http://208.208.128.122:8081/edu/a.html 
nginx使用学习之正向代理、反向代理、负载均衡

文章插图
 
http://208.208.128.122:8082/edu/a.html 
nginx使用学习之正向代理、反向代理、负载均衡

文章插图
 
 
3. 在 nginx 的配置文件中进行负载均衡的配置
修改了第一个示例的 配置
nginx使用学习之正向代理、反向代理、负载均衡

文章插图
 
4. 最终测试
测试url
http://208.208.128.122/edu/a.html 
nginx使用学习之正向代理、反向代理、负载均衡

文章插图
 
 
nginx使用学习之正向代理、反向代理、负载均衡

文章插图
 
5. nginx 分配服务器策略
随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应 足够快,给用户很好的体验 。快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎,nginx 就是其中的一个,在 linux 下有 Nginx、LVS、Haproxy 等等服务可以提供负载均衡服 务,而且 Nginx 提供了几种分配方式(策略):
a. 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除 。
配置方式:
b. weight
weight 代表权重, 默认为 1,权重越高被分配的客户端越多
upstream myserver { server 208.208.128.122:8081 weight=10; # 在这儿 server 208.208.128.122:8082 weight=10; } server { listen 80; server_name 208.208.128.122; location / { root html; proxy_pass http://myserver; index index.html index.htm; }c. ip_hash
ip_hash 每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器
upstream myserver {ip_hash;// 在这儿 server 208.208.128.122:8081 ;server 208.208.128.122:8082 ; } server { listen 80; server_name 208.208.128.122; location / { root html; proxy_pass http://myserver; index index.html index.htm; }d. fair(第三方)
fair(第三方),按后端服务器的响应时间来分配请求,响应时间短的优先分配 。
upstream myserver {server 208.208.128.122:8081 ;server 208.208.128.122:8082 ; fair;# 在这儿 } server { listen 80; server_name 208.208.128.122; location / { root html; proxy_pass http://myserver; index index.html index.htm; }



推荐阅读