nginx

2017-06-18  本文已影响0人  mo_unique

什么是nginx?

nginx是一个高性能的 http 和反向代理服务器,也是一个 IMAP/POP3/SMTP服务器。

正向代理

正向代理(forward)是一个位于客户端【用户A】和原始服务器(origin server)【服务器B】之间的服务器【代理服务器Z】,为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

正向代理的使用场景:
(1)访问本无法访问的服务器B
(2)加速访问服务器B
(3)Cache作用
(4)客户端访问授权
(5)隐藏访问者的行踪

反向代理

反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端。

反向代理的作用:
(1)保护和隐藏原始资源服务器



(2)负载均衡


正向代理和反向代理的区别

nginx负载均衡的方案

轮询

轮询,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器。


最少连接

Web请求会被转发到连接数最少的服务器上。


IP地址哈希

前述的两种负载均衡方案中,同一客户端连续的Web请求可能会被分发到不同的后端服务器进行处理,因此如果涉及到会话Session,那么会话会比较复杂。常见的是基于数据库的会话持久化。要克服上面的难题,可以使用基于IP地址哈希的负载均衡方案。这样的话,同一客户端连续的Web请求都会被分发到同一服务器进行处理。


基于权重的负载均衡

基于权重的负载均衡即Weighted Load Balancing,这种方式下,我们可以配置Nginx把请求更多地分发到高配置的后端服务器上,把相对较少的请求分发到低配服务器。


注意:基于权重的负载均衡和基于IP地址哈希的负载均衡可以组合在一起使用

上一篇下一篇

猜你喜欢

热点阅读