Nginx学习笔记3之NginxHTTP负载均衡

4.NginxHTTP负载均衡

可以在Nginx的静态配置nginx.conf中配置,使其静态HTML网页、图片、JS、CSS、Flash等使用nginx来处理,以便获得更快的速度。文件扩展名为.jsp、.do的请求,由nginx反向代理apache HTTP服务器来处理。

 

4.1负载均衡

负载均衡是由多台服务器以对称的方式组成的一个服务器集合,每台服务器具有同等的地位,都可以单独对外提供服务而无需其他服务器的辅助。通过负载均衡技术,将外部请求均匀的分配到对称结构中的一台服务器,接收到请求的服务器独立回应客户端的请求。

 

4.2反向代理

反向代理reverse proxy:以代理服务器来接受Internet的连接请求,然后将请求转发给内部服务器,并将服务器的结果返回Internet上的客户端。代理服务器表现像一台服务器。

 

常见的代理服务器,只用于代理内部网络对Internet的请求连接,客户机必须指定代理服务器。并将要直接发送到web服务器的http请求发送到代理服务器中。但外部网络的主机并不会配置使用这个代理服务器,因此代理服务器需要搜寻不确定的服务器。

 

当一个代理服务器能够代理外部网络的主机访问内部网络时,这种代理模式叫做反向代理。

 

Web负载均衡的方法:用户手动选择方式、DNS轮询方式(可靠性低、负载不均衡)、4/7层负载均衡设备、

 

4.3Http Upstream模块

Upstream模块是nginx负载均衡的主要模块。

提供简单方法实现在轮询和客户端 IP之间的后端服务器负载均衡,并可与对服务器进行健康检查。

 

Upstream backend{

       Server X weight=5;

    Server Y;

}

 

Ip  hash指令:

将客户端的IP 的请求通过哈希算法定位到同一台后端服务器。无法保证服务器的负载均衡。

 

Server指令

指定后端服务器的参数和名称。

参数:weight值越高,被分配到的请求越多。默认为1

Max_fail:在fail_timeout指定的时间内请求失败的次数

fail_timeout:经历Max_fail失败后暂停时间

down:标记服务器为永久离线状态

backup:在非backup服务器全部宕机时活繁忙时启用。

 

Upstream指令:

设置一组可以在proxy_pass和fastcgi_pass指令中使用的代理服务器,默认的负载均衡为轮询。

 

一般需要2台或以上的nginx负载均衡服务器,实现故障转移和高可用。

 

双机高可用一般是通过虚拟IP方式实现。

 

5.Rewrite规则

Rewrite规则主要用于URL重写。

 

主要有if return rewrite set break指令等。

相关推荐