42

Nginx(六):反向代理及负载均衡

 4 years ago
source link: https://www.tuicool.com/articles/ai2YFjM
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

反向代理

1.概念

反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

2.优势

  • 隔离内部服务器,提高安全性

  • 可以在代理服务器上增加缓存,减少后端服务器的压力,提高性能

  • 很方便的进行横向扩展

  • AIO .

3.配置

例如,当我们直接访问nginx的IP时,我们设置直接跳转到百度,配置 如下:

q2amq2V.png!web

proxy_pass [可以是ip地址、也可以是域名、也可以是ip:端口]。

当访问 192.168.80.128时,会直接跳转到百度。

负载均衡

1.概念

负载均衡 建立在现有的网络结构上,提供一种廉价有效透明的方法来扩大网络设置和服务器的带宽、增加吞吐量、加强网络数据处理能力,以及提供网络的灵活性和可用性。

用得较多的负载均衡器硬件有F5 BIG-IP,软件有 LVS,Nginx及HA-Proxy 。高可用软件有 Hearbeat和keepalived 。成熟的Linux集群架构有LVX+Keepalived、Nginx+keepalived及DRBD+Hearbeat。

Nginx可以按轮询、IP hash、URL hash、权重等多种方法对后端的服务器执行负载均衡操作,同时还支持对后端服务器的健康检查。

2.upstream

upstream 是nginx服务器的一个重要模块,upstream模块实现在轮询在客户端ip之间实现后端的负载均衡。

3.利用Upstream实现负载均衡的几种方式

1.轮询

在http中配置upstream,在server中配置反向代理,如下:

fMvAni6.png!web

在浏览器中访问:http://192.168.80.128/,刷新几次界面后,效果如下:

BzAjquR.png!webjqAV3ui.png!web

因为我是运用了两个tomcat,一个版本是7.0.75,一个是7.0.79,刷新几次界面后,可以看到跳转到不同的tomcat。

当然,可以配置多个upstream,然后配置多个 server。

2.ip_hash,可以保证session共享

Ifei2ij.png!web

在浏览器中访问:http://192.168.80.128/,不管刷新几次,依旧显示的是第一次出现的tomcat。

3.权重,weight值越大,轮询几率越高

F3ueeqU.png!web

在浏览器中访问:http://192.168.80.128/,出现端口号是8088的几率大。权重值跟请求几率成正比。

4.响应时间,响应时间最短的请求,最优先分配

uENvq2v.png!web

5.url_hash

对相同的请求,分配的url是一样的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK