Nginx(六)-- 反向代理及负载均衡
反向代理
1.概念
反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
2.优势
隔离内部服务器,提高安全性
可以在代理服务器上增加缓存,减少后端服务器的压力,提高性能
很方便的进行横向扩展
AIO .
3.配置
例如,当我们直接访问nginx的IP时,我们设置直接跳转到百度,配置 如下:
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可以按轮询、IPhash、URLhash、权重等多种方法对后端的服务器执行负载均衡操作,同时还支持对后端服务器的健康检查。
2.upstream
upstream 是nginx服务器的一个重要模块,upstream模块实现在轮询在客户端ip之间实现后端的负载均衡。
3.利用Upstream实现负载均衡的几种方式
1.轮询
在http中配置upstream,在server中配置反向代理,如下:
在浏览器中访问:http://192.168.80.128/,刷新几次界面后,效果如下:
因为我是运用了两个tomcat,一个版本是7.0.75,一个是7.0.79,刷新几次界面后,可以看到跳转到不同的tomcat。
当然,可以配置多个upstream,然后配置多个 server。
2.ip_hash,可以保证session共享
在浏览器中访问:http://192.168.80.128/,不管刷新几次,依旧显示的是第一次出现的tomcat。
3.权重,weight值越大,轮询几率越高
在浏览器中访问:http://192.168.80.128/,出现端口号是8088的几率大。权重值跟请求几率成正比。
4.响应时间,响应时间最短的请求,最优先分配
5.url_hash
对相同的请求,分配的url是一样的。