初学 Nginx

什么是Nginx? 

 Nginx是有俄罗斯人伊戈尔·赛索耶夫所创建,目前国内使用该技术的大型网站:百度,京东,新浪,淘宝,腾讯。

 Nginx 是一款高效的反向代理服务。

正向代理: 客户端设定某些配置,通知代理服务器,要访问某个网站或者资源,代理服务器根据客户端提供的地址去请求资源服务器,然后返回给客户端。(用途:为局域网内的客户端提供访问internet的途径)

反向代理:客户端向代理服务器请求某些资源,不需要告诉代理服务器这些资源的位置,由代理服务器去判断该去何处拿到资源,然后返回给客户端,对于客户端来说,访问代理服务器就像直接访问原始服务器一样。(用途:将防火墙后面的服务器提供给Internet访问)

为什么需要代理服务器呢?为了保护服务器安全,提供类似防火墙的功能,防止别人恶意攻击。

Nginx 负载均衡 

负载均衡:当网站拥有web服务器,ftp服务器或者关键任务服务器等多个服务器共同维护网站的运行时,就需要通过某种规则来实现负载均衡。

Nginx的负载均衡策略:Nginx自带3中负载均衡策略,还有两种常用的第三方策略。

1,轮询策略,按请求时间逐一分配到不同的服务器处理,如果服务器宕掉会自动跳过。(有点:简单,成本低;缺点:可靠性低,负载不均衡)

2,权重。根据配置来分配访问权重。

3,ip_hash

以上两种方式,都可能出现一种情况,就是一个用户的下一个请求,可能会分发到别的服务器,而在别的服务器上并没有保存回话状态(虽然有用session保存会话,但是无法跨服务器),就会需要重新登录。很多时候我们需要一个ip访问同一个服务器,这个时候就可以用ip_hash保存请求的ip信息,接下来的请求按ip_hash进行分配。

4,fair(第三方)

 按服务器响应时间来分配。相应时间短的优先分配。

5,url_hash(第三方)

将访问的url保存到hash表中,同一个url指向同一个服务器。

原文地址:https://www.cnblogs.com/scyr/p/9883341.html