学习Nginx反向代理实现简单负载均衡(图文)
?
? ? ? ?配置环境:
? ? ? ?三台centos6.2X86??
? ? ? ?一台做Nginx Proxy?
? ? ? ?二台Apache做页面测试服务器
? ? ? ?配置步骤:
? ? ? ? 安装前要先解决包的依赖问题:pcre-devel openssl zlib-devel
? ? ? ? 一、安装nginx服务器
? ? ? ?1、后台的web服务使用Apache,有关apache 配置的文章这里不多说,本文重点在配置nginx反向代理。
? ? ? ?2、安装Nginx服务
?
? ? ? ?3、修改nginx主配置文件,主配置文件路径:/usr/local/site/nginx/conf/nginx.conf,最好配置文件作下备份;
?
? ? ? 如下是HTTP负载均衡模块upstream 指定设置一群服务器,服务器可以指定不同的权重,默认为1。 ? ? ? ? ? ? Nginx支持5种方式的查询,?
? ? ? 1、轮询 Nginx默认的查询方式?
? ? ? 2、Weight 指定分配的轮询方式,根据后端服务器的性能来做权重,在此案例中我们使用这种方式来轮询的?
? ? ? 3、Ip_hash 每个请求按照ip的hash结果分配,这样每个IP地址就可以固定的访问后端的一台服务器,解决了session的问题?
? ? ? 4、Fair 第三方模块,这个原理是按照响应时间的优先来分配的,?
? ? ? 5、url_hash??? 按照url的hash结果来分配请求,使每个url定向到同一个后端的服务器;??
? ? ? ?Nginx反向代理的原理优点:
? ? ? ?反向代理可以简单的理解为:代理服务器来接收internet上的服务器请求,然后将请求转发给内部的服务器上,然后将结果返回给internet上请求的客户端,所以代理服务器对外表现出来的只是一台服务器。反向代理服务器也称为Web服务器加速,针对web服务器提供加速功能。他作为代理服务器,并不针对浏览器用户,而是针对一台或者多台特定的web服务器。可以缓存web的页面,降低web服务器的访问量,从而来降低web服务器的负载,实施反向代理,只要将反向代理设备放置在一台或多台Web服务器前端即可。
? ? ? ?当互联网用户访问某个WEB服务器时,通过DNS服务器解析后的IP地址是代理服务器的IP地址,而非原始Web服务器的IP地址,这时代理服务器设备充当Web服务器,浏览器可以与它连接,无需再直接与Web服务器相连。因此,大量Web服务工作量被转载到反向代理服务上。不但能够很大程度上减轻web服务器的负担,提高访问速度,而且能够防止外部网主机直接和web服务器直接通信带来的安全隐患。
?
?