ngix介绍

ngix能做什么?  1 反向代理 2 负载均衡 3 正向代理 4 HTTP服务器(动静分离)

1 反向代理 Reverse Proxy 是指以代理服务器来接受来自internet或者是客户端的连接请求,然后将请求转发给内部网络上的服务器,并将服务器上得到的结果返回给internet上请求连接的客户端。

此时代理服务器对外表现就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器。而代理服务器能被外部网络访问的同时又跟真实服务器在同一个

网络环境,当然也可以是同一台服务器,只是端口号不同而已。

2 负载均衡也是ngix的一个常用的功能 其意思是分摊到多个操作单元上进行执行,例如web服务器,ftp服务器,企业关键应用服务器和其他关键任务服务器,从而共同完成任务。简单说就是当有2台或以上的服务器时,

根据规则随机的将请求分发到指定的服务器上处理,负载均衡一般都是需要同时配置反向代理,通过反向代理跳转到负载均衡,而ngix目前支持3种方式的负载均衡,还有2种常用的第三方策略。

2.1 RR (默认) 每个请求按照时间顺序逐一分配到不同的后端服务器,如果后台服务器down掉,能自动剔除。

2.2 权重  指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

2.3 ip_hash 上面的两种方式都有一个问题,那就是下一个请求来的时候可能分发到另外一个服务器,当我们的程序不是无状态(采用了session保存数据),这时候就有一个很大的问题了,

比如把登录信息保存到了session中,那么跳转到另外一台服务器的时候就需要重新登录了。所以很多时候我们需要一个客户只访问一个服务器,那么就需要ip_hash了。iphash的每个请求按照访问ip的hash

结果分配。这样每个访客固定访问一个后端服务器,可以解决session的问题.

3 HTTP服务器 ngix本身也是一个静态资源服务器,当只有静态资源的时候,就可以使用ngix来做服务器,同时也很流行动静分离,就可以通过ngix来实现。

4 动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好拆分之后,就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。